References

Guide: https://github.com/tommytracey/AIND-Capstone https://tommytracey.github.io/AIND-Capstone/machine_translation.html

Why TimeDistributedDenseLayer: https://datascience.stackexchange.com/questions/10836/the-difference-between-dense-and-timedistributeddense-of-keras

Keras Documentation: https://tensorflow.rstudio.com/reference/keras/

Stackoverflow: https://stackoverflow.com/questions/10961141/setting-up-a-3d-matrix-in-r-and-accessing-certain-elements

Attempt to train words using 8-10 Words accuracy could be due to PADDING

Importing of Libraries

library(keras)
library(tensorflow)
library(tokenizers)
library(dplyr)
library(png)
library(reticulate)
library(abind)
library(ramify)
library(stringr)
library(deepviz)
language <- "French"
language_code <- "fr"
file_name <- paste0("translation_", language_code, ".csv")
train <- read.csv(file_name, encoding="UTF-8", stringsAsFactors=FALSE)

Amending column names

colnames(train) <- c("English", language)
train

Tokenizer

tokenize <- function(x){
  tokenizer <- text_tokenizer(num_words = 1000000)
  fit_text_tokenizer(tokenizer, x)
  sequences <- texts_to_sequences(tokenizer, x)
  return(c(sequences, tokenizer))
}

Padding

pad <- function(x, length=NULL){
  return(pad_sequences(x, maxlen = length, padding = 'post'))
}

Example for Tokenisation & Padding

text_sentences = c('The quick brown fox jumps over the lazy dog .',
    'By Jove , my quick study of lexicography won a prize .',
    'This is a short sentence .')
token_index <- length(text_sentences) + 1
output <- tokenize(text_sentences)
text_tokenized <- output[1:length(text_sentences)]
# print(output)

# Finding out the integer allocation to each word
tk <- output[[token_index]]$word_index
# print(tk)
# print(length(tk))
# print(table(tk))

Seeing the input vs output for each tokenized sentences

for(i in 1:length(text_sentences)){
  print(paste0("Sequence in Text ", i, ":"))
  print(paste0("Input: ", text_sentences[i]))
  print(paste0("Output: ", list(text_tokenized[[i]])))
  cat("\n")
}
[1] "Sequence in Text 1:"
[1] "Input: The quick brown fox jumps over the lazy dog ."
[1] "Output: c(1, 2, 4, 5, 6, 7, 1, 8, 9)"

[1] "Sequence in Text 2:"
[1] "Input: By Jove , my quick study of lexicography won a prize ."
[1] "Output: c(10, 11, 12, 2, 13, 14, 15, 16, 3, 17)"

[1] "Sequence in Text 3:"
[1] "Input: This is a short sentence ."
[1] "Output: c(18, 19, 3, 20, 21)"

Padding each tokenized sentences

padded_text <- pad(text_tokenized)
for(i in 1:length(text_sentences)){
  print(paste0("Sequence in Text ", i, ":"))
  print(paste0("Input: ", text_sentences[i]))
  print(paste0("Output: ", list(text_tokenized[[i]])))
  print(paste0("Output (Padded): ", list(padded_text[i,])))
}
[1] "Sequence in Text 1:"
[1] "Input: The quick brown fox jumps over the lazy dog ."
[1] "Output: c(1, 2, 4, 5, 6, 7, 1, 8, 9)"
[1] "Output (Padded): c(1, 2, 4, 5, 6, 7, 1, 8, 9, 0)"
[1] "Sequence in Text 2:"
[1] "Input: By Jove , my quick study of lexicography won a prize ."
[1] "Output: c(10, 11, 12, 2, 13, 14, 15, 16, 3, 17)"
[1] "Output (Padded): c(10, 11, 12, 2, 13, 14, 15, 16, 3, 17)"
[1] "Sequence in Text 3:"
[1] "Input: This is a short sentence ."
[1] "Output: c(18, 19, 3, 20, 21)"
[1] "Output (Padded): c(18, 19, 3, 20, 21, 0, 0, 0, 0, 0)"

Preprocessing Component (Tidying up of characters and sentences)

Getting Compiled English Text (Testing)

# n <- nrow(subset_train)
n <- 5
word_list <- list(train[, 1])[[1]][1:n]
# word_list
new_output <- tokenize(word_list)
new_text_tokenized <- new_output[1:n]
new_padded_text <- pad(new_text_tokenized)

for(i in 1:n){
  # if(i %% 100 != 0) next
  print(paste0("Sequence in Text ", i, ":"))
  print(paste0("Input: ", word_list[i]))
  print(paste0("Output: ", list(new_text_tokenized[[i]])))
  print(paste0("Output (Padded): ", list(new_padded_text[i,])))
  # cat("\n")
}
[1] "Sequence in Text 1:"
[1] "Input: new jersey is sometimes quiet during autumn , and it is snowy in april ."
[1] "Output: c(15, 16, 1, 8, 9, 2, 17, 3, 4, 1, 18, 5, 19)"
[1] "Output (Padded): c(15, 16, 1, 8, 9, 2, 17, 3, 4, 1, 18, 5, 19, 0, 0)"
[1] "Sequence in Text 2:"
[1] "Input: the united states is usually chilly during july , and it is usually freezing in november ."
[1] "Output: c(6, 10, 11, 1, 7, 20, 2, 21, 3, 4, 1, 7, 22, 5, 23)"
[1] "Output (Padded): c(6, 10, 11, 1, 7, 20, 2, 21, 3, 4, 1, 7, 22, 5, 23)"
[1] "Sequence in Text 3:"
[1] "Input: california is usually quiet during march , and it is usually hot in june ."
[1] "Output: c(24, 1, 7, 9, 2, 25, 3, 4, 1, 7, 26, 5, 12)"
[1] "Output (Padded): c(24, 1, 7, 9, 2, 25, 3, 4, 1, 7, 26, 5, 12, 0, 0)"
[1] "Sequence in Text 4:"
[1] "Input: the united states is sometimes mild during june , and it is cold in september ."
[1] "Output: c(6, 10, 11, 1, 8, 27, 2, 12, 3, 4, 1, 28, 5, 29)"
[1] "Output (Padded): c(6, 10, 11, 1, 8, 27, 2, 12, 3, 4, 1, 28, 5, 29, 0)"
[1] "Sequence in Text 5:"
[1] "Input: your least liked fruit is the grape , but my least liked is the apple ."
[1] "Output: c(30, 13, 14, 31, 1, 6, 32, 33, 34, 13, 14, 1, 6, 35)"
[1] "Output (Padded): c(30, 13, 14, 31, 1, 6, 32, 33, 34, 13, 14, 1, 6, 35, 0)"

Getting Compiled Other Language Text (Testing)

# n <- nrow(subset_train)
n <- 5
word_list <- list(train[, 2])[[1]][1:n]
new_output <- tokenize(word_list)
new_text_tokenized <- new_output[1:n]
new_padded_text <- pad(new_text_tokenized)

for(i in 1:n){
  # if(i %% 100 != 0) next
  print(paste0("Sequence in Text ", i, ":"))
  print(paste0("Input: ", word_list[i]))
  print(paste0("Output: ", list(new_text_tokenized[[i]])))
  print(paste0("Output (Padded): ", list(new_padded_text[i,])))
}
[1] "Sequence in Text 1:"
[1] "Input: new jersey est parfois calme pendant l' automne , et il est neigeux en avril ."
[1] "Output: c(15, 16, 1, 6, 7, 17, 18, 19, 3, 4, 1, 20, 2, 21)"
[1] "Output (Padded): c(15, 16, 1, 6, 7, 17, 18, 19, 3, 4, 1, 20, 2, 21)"
[1] "Sequence in Text 2:"
[1] "Input: les états-unis est généralement froid en juillet , et il gèle habituellement en novembre ."
[1] "Output: c(8, 9, 10, 1, 5, 11, 2, 22, 3, 4, 23, 24, 2, 25)"
[1] "Output (Padded): c(8, 9, 10, 1, 5, 11, 2, 22, 3, 4, 23, 24, 2, 25)"
[1] "Sequence in Text 3:"
[1] "Input: california est généralement calme en mars , et il est généralement chaud en juin ."
[1] "Output: c(26, 1, 5, 7, 2, 27, 3, 4, 1, 5, 28, 2, 12)"
[1] "Output (Padded): c(26, 1, 5, 7, 2, 27, 3, 4, 1, 5, 28, 2, 12, 0)"
[1] "Sequence in Text 4:"
[1] "Input: les états-unis est parfois légère en juin , et il fait froid en septembre ."
[1] "Output: c(8, 9, 10, 1, 6, 29, 2, 12, 3, 4, 30, 11, 2, 31)"
[1] "Output (Padded): c(8, 9, 10, 1, 6, 29, 2, 12, 3, 4, 30, 11, 2, 31)"
[1] "Sequence in Text 5:"
[1] "Input: votre moins aimé fruit est le raisin , mais mon moins aimé est la pomme ."
[1] "Output: c(32, 13, 14, 33, 1, 34, 35, 36, 37, 13, 14, 1, 38, 39)"
[1] "Output (Padded): c(32, 13, 14, 33, 1, 34, 35, 36, 37, 13, 14, 1, 38, 39)"

Preprocessing both languages compilations

preprocess_text <- function(x, y){
  output_x <- tokenize(x)
  output_y <- tokenize(y)
  
  preprocess_x <- output_x[1:length(x)]; x_tk <- output_x[[length(x) + 1]]$word_index
  preprocess_y <- output_y[1:length(y)]; y_tk <- output_y[[length(y) + 1]]$word_index
  
  # print(preprocess_x)
  
  preprocess_x <- pad(preprocess_x)
  preprocess_y <- pad(preprocess_y)
  
  # print(preprocess_x)
  
  # Converting from a 2D matrix to a 3D tensor
  # preprocess_x <- array(preprocess_x[[1]], c(dim(preprocess_x[[1]])[1], dim(preprocess_x[[1]])[2], 1))
  # preprocess_y <- array(preprocess_y[[1]], c(dim(preprocess_y[[1]])[1], dim(preprocess_y[[1]])[2], 1))
  
  return(list(preprocess_x, preprocess_y, x_tk, y_tk))
}

Full Data

train_x <- list(train[, 1])[[1]]
train_y <- list(train[, 2])[[1]]
# print(subset_train_x)

process_output <- preprocess_text(train_x, train_y)
# print(process_output[4],)
preprocess_x <- process_output[1]; preprocess_y <- process_output[2]; x_tk <- process_output[3]; y_tk <- process_output[4]
# print(preprocess_x[[1]])
# print(preprocess_y[[1]])


# Conversion back to list of words from tokenized word list
# attributes(x_tk[[1]])$names
# length(y_tk[[1]])

Obtaining the maximum column number and re-padding

col_x <- dim(preprocess_x[[1]])[2]
col_y <- dim(preprocess_y[[1]])[2]

if(col_x >= col_y){
  max_col <- col_x
}else{
  max_col <- col_y
}

tmp_x <- pad(preprocess_x[[1]], max_col)
tmp_y <- pad(preprocess_y[[1]], max_col)

Calculating Sparsity (Extra)

calculate_sparsity <- function(df_matrix){
  zero_count <- 0
  total_count <- nrow(df_matrix) * ncol(tmp_x)
  for(i in 1:nrow(df_matrix)){
    for(j in 1:ncol(df_matrix)){
      if(df_matrix[i, j] == 0){
        zero_count = zero_count + 1
      }
    }
  }
  zero_count/total_count
}

print(paste("The Sparsity of the matrix is: ", round(calculate_sparsity(tmp_x)*100, 2), "%"))
[1] "The Sparsity of the matrix is:  46.37 %"

Conversion of 2D matrix to tensor

convert2tensor <- function(preprocess_data){
  preprocess_data <- array(preprocess_data, c(dim(preprocess_data)[1], dim(preprocess_data)[2], 1))
  return(preprocess_data)
}

# array(preprocess_x[[1]], c(dim(preprocess_x[[1]])[1], dim(preprocess_x[[1]])[2], 1))
# dim(array(preprocess_x[[1]], c(dim(preprocess_x[[1]])[1], dim(preprocess_x[[1]])[2], 1)))[2:3]

Converting to tensor

tensor_x <- convert2tensor(tmp_x)
dim(tensor_x)
[1] 137860     21      1
tensor_x[1, , ]
 [1] 17 23  1  8 67  4 39  7  3  1 55  2 44  0  0  0  0  0  0  0  0
tensor_y <- convert2tensor(tmp_y)
# tensor_y

Converting the logits back to text


logits_to_text <- function(logits, tokenizer, predict=FALSE){
  tokenizer_words <- attributes(tokenizer[[1]])$names
  text <- c()
  if(predict == TRUE){
    logits <- logits - 1 ## For prediction conversion only 
  }
  for(i in logits){
    if(i == 0){
      text <- c(text, "<PAD>")
    }else{
      text <- c(text, tokenizer_words[i])
    }
  }
  return(text)
}

# Testing to convert the first row back to text
# preprocess_x[[1]][1, ]
# preprocess_x[[1]]
logits_to_text(preprocess_x[[1]][1, ], x_tk)
 [1] "new"       "jersey"    "is"        "sometimes" "quiet"     "during"    "autumn"    "and"       "it"        "is"        "snowy"    
[12] "in"        "april"     "<PAD>"     "<PAD>"    

Building a simple RNN model

# dim(tensor_y)
model_RNN <-  keras_model_sequential()
model_RNN %>% 
  layer_simple_rnn(units = 256, input_shape = dim(tensor_x)[2:3], return_sequences = TRUE) %>%
  layer_dense(units = 1024, activation = 'relu')%>%
  layer_dropout(rate = 0.5) %>%
  layer_dense(units = length(y_tk[[1]]) + 1, activation = 'softmax')

model_RNN %>% summary()
Model: "sequential_3"
_____________________________________________________________________________________________________________________________________________
 Layer (type)                                                  Output Shape                                            Param #               
=============================================================================================================================================
 simple_rnn_2 (SimpleRNN)                                      (None, 21, 256)                                         66048                 
                                                                                                                                             
 dense_7 (Dense)                                               (None, 21, 1024)                                        263168                
                                                                                                                                             
 dropout_3 (Dropout)                                           (None, 21, 1024)                                        0                     
                                                                                                                                             
 dense_6 (Dense)                                               (None, 21, 345)                                         353625                
                                                                                                                                             
=============================================================================================================================================
Total params: 682,841
Trainable params: 682,841
Non-trainable params: 0
_____________________________________________________________________________________________________________________________________________
model_RNN %>% compile(
  loss      = 'sparse_categorical_crossentropy',
  # optimizer = optimizer_rmsprop(),
  optimizer = optimizer_adam(learning_rate = 0.005),
  metrics=c('accuracy')
)

plot_model(model_RNN)

history = model_RNN %>% fit(
  x = tensor_x, y = tensor_y,
  epochs           = 10,
  batch_size = 1024,
  validation_split = 0.2,
)
Epoch 1/10

  1/108 [..............................] - ETA: 2:12 - loss: 5.8637 - accuracy: 0.0118
  2/108 [..............................] - ETA: 1:54 - loss: 4.9949 - accuracy: 0.2313
  3/108 [..............................] - ETA: 1:24 - loss: 4.7084 - accuracy: 0.2906
  4/108 [>.............................] - ETA: 1:14 - loss: 4.3593 - accuracy: 0.3119
  5/108 [>.............................] - ETA: 1:08 - loss: 4.1324 - accuracy: 0.3260
  6/108 [>.............................] - ETA: 1:04 - loss: 3.9338 - accuracy: 0.3406
  7/108 [>.............................] - ETA: 1:02 - loss: 3.7900 - accuracy: 0.3552
  8/108 [=>............................] - ETA: 1:00 - loss: 3.6703 - accuracy: 0.3662
  9/108 [=>............................] - ETA: 58s - loss: 3.5636 - accuracy: 0.3750 
 10/108 [=>............................] - ETA: 57s - loss: 3.4744 - accuracy: 0.3818
 11/108 [==>...........................] - ETA: 56s - loss: 3.3963 - accuracy: 0.3870
 12/108 [==>...........................] - ETA: 55s - loss: 3.3271 - accuracy: 0.3925
 13/108 [==>...........................] - ETA: 54s - loss: 3.2592 - accuracy: 0.3988
 14/108 [==>...........................] - ETA: 53s - loss: 3.2013 - accuracy: 0.4039
 15/108 [===>..........................] - ETA: 52s - loss: 3.1490 - accuracy: 0.4085
 16/108 [===>..........................] - ETA: 51s - loss: 3.0992 - accuracy: 0.4134
 17/108 [===>..........................] - ETA: 50s - loss: 3.0521 - accuracy: 0.4188
 18/108 [====>.........................] - ETA: 50s - loss: 3.0087 - accuracy: 0.4237
 19/108 [====>.........................] - ETA: 49s - loss: 2.9683 - accuracy: 0.4284
 20/108 [====>.........................] - ETA: 48s - loss: 2.9301 - accuracy: 0.4330
 21/108 [====>.........................] - ETA: 48s - loss: 2.8933 - accuracy: 0.4374
 22/108 [=====>........................] - ETA: 47s - loss: 2.8585 - accuracy: 0.4415
 23/108 [=====>........................] - ETA: 47s - loss: 2.8249 - accuracy: 0.4455
 24/108 [=====>........................] - ETA: 46s - loss: 2.7926 - accuracy: 0.4491
 25/108 [=====>........................] - ETA: 46s - loss: 2.7625 - accuracy: 0.4526
 26/108 [======>.......................] - ETA: 45s - loss: 2.7319 - accuracy: 0.4561
 27/108 [======>.......................] - ETA: 45s - loss: 2.7036 - accuracy: 0.4593
 28/108 [======>.......................] - ETA: 44s - loss: 2.6773 - accuracy: 0.4623
 29/108 [=======>......................] - ETA: 44s - loss: 2.6519 - accuracy: 0.4652
 30/108 [=======>......................] - ETA: 43s - loss: 2.6275 - accuracy: 0.4680
 31/108 [=======>......................] - ETA: 43s - loss: 2.6040 - accuracy: 0.4706
 32/108 [=======>......................] - ETA: 42s - loss: 2.5797 - accuracy: 0.4734
 33/108 [========>.....................] - ETA: 42s - loss: 2.5571 - accuracy: 0.4760
 34/108 [========>.....................] - ETA: 41s - loss: 2.5354 - accuracy: 0.4785
 35/108 [========>.....................] - ETA: 41s - loss: 2.5150 - accuracy: 0.4809
 36/108 [=========>....................] - ETA: 40s - loss: 2.4948 - accuracy: 0.4834
 37/108 [=========>....................] - ETA: 40s - loss: 2.4754 - accuracy: 0.4856
 38/108 [=========>....................] - ETA: 39s - loss: 2.4563 - accuracy: 0.4878
 39/108 [=========>....................] - ETA: 39s - loss: 2.4386 - accuracy: 0.4898
 40/108 [==========>...................] - ETA: 38s - loss: 2.4208 - accuracy: 0.4918
 41/108 [==========>...................] - ETA: 38s - loss: 2.4042 - accuracy: 0.4937
 42/108 [==========>...................] - ETA: 37s - loss: 2.3877 - accuracy: 0.4956
 43/108 [==========>...................] - ETA: 36s - loss: 2.3717 - accuracy: 0.4974
 44/108 [===========>..................] - ETA: 36s - loss: 2.3562 - accuracy: 0.4992
 45/108 [===========>..................] - ETA: 35s - loss: 2.3407 - accuracy: 0.5009
 46/108 [===========>..................] - ETA: 35s - loss: 2.3259 - accuracy: 0.5027
 47/108 [============>.................] - ETA: 34s - loss: 2.3110 - accuracy: 0.5045
 48/108 [============>.................] - ETA: 34s - loss: 2.2964 - accuracy: 0.5062
 49/108 [============>.................] - ETA: 33s - loss: 2.2827 - accuracy: 0.5078
 50/108 [============>.................] - ETA: 33s - loss: 2.2695 - accuracy: 0.5094
 51/108 [=============>................] - ETA: 32s - loss: 2.2565 - accuracy: 0.5108
 52/108 [=============>................] - ETA: 32s - loss: 2.2434 - accuracy: 0.5124
 53/108 [=============>................] - ETA: 31s - loss: 2.2829 - accuracy: 0.5124
 54/108 [==============>...............] - ETA: 30s - loss: 2.2824 - accuracy: 0.5121
 55/108 [==============>...............] - ETA: 30s - loss: 2.2834 - accuracy: 0.5115
 56/108 [==============>...............] - ETA: 29s - loss: 2.2818 - accuracy: 0.5111
 57/108 [==============>...............] - ETA: 29s - loss: 2.2811 - accuracy: 0.5106
 58/108 [===============>..............] - ETA: 28s - loss: 2.2799 - accuracy: 0.5102
 59/108 [===============>..............] - ETA: 28s - loss: 2.2792 - accuracy: 0.5096
 60/108 [===============>..............] - ETA: 27s - loss: 2.2777 - accuracy: 0.5094
 61/108 [===============>..............] - ETA: 26s - loss: 2.2760 - accuracy: 0.5093
 62/108 [================>.............] - ETA: 26s - loss: 2.2742 - accuracy: 0.5091
 63/108 [================>.............] - ETA: 25s - loss: 2.2713 - accuracy: 0.5089
 64/108 [================>.............] - ETA: 25s - loss: 2.2683 - accuracy: 0.5088
 65/108 [=================>............] - ETA: 24s - loss: 2.2646 - accuracy: 0.5088
 66/108 [=================>............] - ETA: 24s - loss: 2.2612 - accuracy: 0.5088
 67/108 [=================>............] - ETA: 23s - loss: 2.2572 - accuracy: 0.5089
 68/108 [=================>............] - ETA: 22s - loss: 2.2529 - accuracy: 0.5091
 69/108 [==================>...........] - ETA: 22s - loss: 2.2484 - accuracy: 0.5094
 70/108 [==================>...........] - ETA: 21s - loss: 2.2435 - accuracy: 0.5098
 71/108 [==================>...........] - ETA: 21s - loss: 2.2384 - accuracy: 0.5104
 72/108 [===================>..........] - ETA: 20s - loss: 2.2332 - accuracy: 0.5109
 73/108 [===================>..........] - ETA: 20s - loss: 2.2282 - accuracy: 0.5113
 74/108 [===================>..........] - ETA: 19s - loss: 2.2231 - accuracy: 0.5117
 75/108 [===================>..........] - ETA: 18s - loss: 2.2174 - accuracy: 0.5123
 76/108 [====================>.........] - ETA: 18s - loss: 2.2123 - accuracy: 0.5128
 77/108 [====================>.........] - ETA: 17s - loss: 2.2071 - accuracy: 0.5133
 78/108 [====================>.........] - ETA: 17s - loss: 2.2021 - accuracy: 0.5139
 79/108 [====================>.........] - ETA: 16s - loss: 2.1966 - accuracy: 0.5144
 80/108 [=====================>........] - ETA: 16s - loss: 2.1913 - accuracy: 0.5149
 81/108 [=====================>........] - ETA: 15s - loss: 2.1861 - accuracy: 0.5154
 82/108 [=====================>........] - ETA: 14s - loss: 2.1809 - accuracy: 0.5159
 83/108 [======================>.......] - ETA: 14s - loss: 2.1755 - accuracy: 0.5165
 84/108 [======================>.......] - ETA: 13s - loss: 2.1700 - accuracy: 0.5171
 85/108 [======================>.......] - ETA: 13s - loss: 2.1647 - accuracy: 0.5177
 86/108 [======================>.......] - ETA: 12s - loss: 2.1593 - accuracy: 0.5182
 87/108 [=======================>......] - ETA: 12s - loss: 2.1537 - accuracy: 0.5188
 88/108 [=======================>......] - ETA: 11s - loss: 2.1485 - accuracy: 0.5193
 89/108 [=======================>......] - ETA: 10s - loss: 2.1429 - accuracy: 0.5200
 90/108 [========================>.....] - ETA: 10s - loss: 2.1377 - accuracy: 0.5205
 91/108 [========================>.....] - ETA: 9s - loss: 2.1323 - accuracy: 0.5211 
 92/108 [========================>.....] - ETA: 9s - loss: 2.1270 - accuracy: 0.5217
 93/108 [========================>.....] - ETA: 8s - loss: 2.1215 - accuracy: 0.5223
 94/108 [=========================>....] - ETA: 8s - loss: 2.1166 - accuracy: 0.5228
 95/108 [=========================>....] - ETA: 7s - loss: 2.1115 - accuracy: 0.5234
 96/108 [=========================>....] - ETA: 6s - loss: 2.1063 - accuracy: 0.5240
 97/108 [=========================>....] - ETA: 6s - loss: 2.1011 - accuracy: 0.5247
 98/108 [==========================>...] - ETA: 5s - loss: 2.0962 - accuracy: 0.5252
 99/108 [==========================>...] - ETA: 5s - loss: 2.0911 - accuracy: 0.5258
100/108 [==========================>...] - ETA: 4s - loss: 2.0860 - accuracy: 0.5265
101/108 [===========================>..] - ETA: 4s - loss: 2.0811 - accuracy: 0.5271
102/108 [===========================>..] - ETA: 3s - loss: 2.0765 - accuracy: 0.5276
103/108 [===========================>..] - ETA: 2s - loss: 2.0715 - accuracy: 0.5282
104/108 [===========================>..] - ETA: 2s - loss: 2.0667 - accuracy: 0.5288
105/108 [============================>.] - ETA: 1s - loss: 2.0618 - accuracy: 0.5294
106/108 [============================>.] - ETA: 1s - loss: 2.0567 - accuracy: 0.5301
107/108 [============================>.] - ETA: 0s - loss: 2.0520 - accuracy: 0.5307
108/108 [==============================] - 63s 574ms/step - loss: 2.0487 - accuracy: 0.5311

108/108 [==============================] - 68s 628ms/step - loss: 2.0487 - accuracy: 0.5311 - val_loss: 1.4762 - val_accuracy: 0.6104
Epoch 2/10

  1/108 [..............................] - ETA: 59s - loss: 1.5572 - accuracy: 0.5913
  2/108 [..............................] - ETA: 1:00 - loss: 1.5431 - accuracy: 0.5923
  3/108 [..............................] - ETA: 59s - loss: 1.5417 - accuracy: 0.5921 
  4/108 [>.............................] - ETA: 58s - loss: 1.5368 - accuracy: 0.5925
  5/108 [>.............................] - ETA: 58s - loss: 1.5315 - accuracy: 0.5938
  6/108 [>.............................] - ETA: 58s - loss: 1.5277 - accuracy: 0.5949
  7/108 [>.............................] - ETA: 57s - loss: 1.5278 - accuracy: 0.5945
  8/108 [=>............................] - ETA: 57s - loss: 1.5249 - accuracy: 0.5955
  9/108 [=>............................] - ETA: 56s - loss: 1.5248 - accuracy: 0.5952
 10/108 [=>............................] - ETA: 56s - loss: 1.5217 - accuracy: 0.5957
 11/108 [==>...........................] - ETA: 55s - loss: 1.5242 - accuracy: 0.5949
 12/108 [==>...........................] - ETA: 54s - loss: 1.5206 - accuracy: 0.5959
 13/108 [==>...........................] - ETA: 54s - loss: 1.5208 - accuracy: 0.5958
 14/108 [==>...........................] - ETA: 53s - loss: 1.5176 - accuracy: 0.5963
 15/108 [===>..........................] - ETA: 53s - loss: 1.5154 - accuracy: 0.5968
 16/108 [===>..........................] - ETA: 52s - loss: 1.5133 - accuracy: 0.5972
 17/108 [===>..........................] - ETA: 52s - loss: 1.5126 - accuracy: 0.5974
 18/108 [====>.........................] - ETA: 51s - loss: 1.5092 - accuracy: 0.5979
 19/108 [====>.........................] - ETA: 51s - loss: 1.5084 - accuracy: 0.5979
 20/108 [====>.........................] - ETA: 50s - loss: 1.5057 - accuracy: 0.5982
 21/108 [====>.........................] - ETA: 50s - loss: 1.5028 - accuracy: 0.5986
 22/108 [=====>........................] - ETA: 50s - loss: 1.5013 - accuracy: 0.5985
 23/108 [=====>........................] - ETA: 49s - loss: 1.5000 - accuracy: 0.5986
 24/108 [=====>........................] - ETA: 48s - loss: 1.4968 - accuracy: 0.5990
 25/108 [=====>........................] - ETA: 48s - loss: 1.4953 - accuracy: 0.5993
 26/108 [======>.......................] - ETA: 47s - loss: 1.4930 - accuracy: 0.5996
 27/108 [======>.......................] - ETA: 47s - loss: 1.4922 - accuracy: 0.5996
 28/108 [======>.......................] - ETA: 46s - loss: 1.4902 - accuracy: 0.6000
 29/108 [=======>......................] - ETA: 46s - loss: 1.4881 - accuracy: 0.6005
 30/108 [=======>......................] - ETA: 45s - loss: 1.4858 - accuracy: 0.6009
 31/108 [=======>......................] - ETA: 45s - loss: 1.4850 - accuracy: 0.6007
 32/108 [=======>......................] - ETA: 44s - loss: 1.4834 - accuracy: 0.6009
 33/108 [========>.....................] - ETA: 43s - loss: 1.4821 - accuracy: 0.6011
 34/108 [========>.....................] - ETA: 43s - loss: 1.4805 - accuracy: 0.6014
 35/108 [========>.....................] - ETA: 42s - loss: 1.4786 - accuracy: 0.6018
 36/108 [=========>....................] - ETA: 42s - loss: 1.4771 - accuracy: 0.6019
 37/108 [=========>....................] - ETA: 41s - loss: 1.4747 - accuracy: 0.6024
 38/108 [=========>....................] - ETA: 41s - loss: 1.4727 - accuracy: 0.6027
 39/108 [=========>....................] - ETA: 40s - loss: 1.4703 - accuracy: 0.6031
 40/108 [==========>...................] - ETA: 39s - loss: 1.4681 - accuracy: 0.6034
 41/108 [==========>...................] - ETA: 39s - loss: 1.4659 - accuracy: 0.6036
 42/108 [==========>...................] - ETA: 38s - loss: 1.4648 - accuracy: 0.6037
 43/108 [==========>...................] - ETA: 38s - loss: 1.4633 - accuracy: 0.6040
 44/108 [===========>..................] - ETA: 37s - loss: 1.4618 - accuracy: 0.6042
 45/108 [===========>..................] - ETA: 37s - loss: 1.4610 - accuracy: 0.6042
 46/108 [===========>..................] - ETA: 36s - loss: 1.4589 - accuracy: 0.6047
 47/108 [============>.................] - ETA: 36s - loss: 1.4575 - accuracy: 0.6049
 48/108 [============>.................] - ETA: 35s - loss: 1.4562 - accuracy: 0.6051
 49/108 [============>.................] - ETA: 34s - loss: 1.4548 - accuracy: 0.6053
 50/108 [============>.................] - ETA: 34s - loss: 1.4537 - accuracy: 0.6053
 51/108 [=============>................] - ETA: 33s - loss: 1.4529 - accuracy: 0.6054
 52/108 [=============>................] - ETA: 33s - loss: 1.4511 - accuracy: 0.6057
 53/108 [=============>................] - ETA: 32s - loss: 1.4501 - accuracy: 0.6058
 54/108 [==============>...............] - ETA: 31s - loss: 1.4485 - accuracy: 0.6060
 55/108 [==============>...............] - ETA: 31s - loss: 1.4466 - accuracy: 0.6063
 56/108 [==============>...............] - ETA: 30s - loss: 1.4453 - accuracy: 0.6065
 57/108 [==============>...............] - ETA: 30s - loss: 1.4437 - accuracy: 0.6068
 58/108 [===============>..............] - ETA: 29s - loss: 1.4428 - accuracy: 0.6069
 59/108 [===============>..............] - ETA: 28s - loss: 1.4416 - accuracy: 0.6072
 60/108 [===============>..............] - ETA: 28s - loss: 1.4403 - accuracy: 0.6074
 61/108 [===============>..............] - ETA: 27s - loss: 1.4392 - accuracy: 0.6076
 62/108 [================>.............] - ETA: 27s - loss: 1.4375 - accuracy: 0.6078
 63/108 [================>.............] - ETA: 26s - loss: 1.4358 - accuracy: 0.6082
 64/108 [================>.............] - ETA: 26s - loss: 1.4345 - accuracy: 0.6084
 65/108 [=================>............] - ETA: 25s - loss: 1.4336 - accuracy: 0.6086
 66/108 [=================>............] - ETA: 24s - loss: 1.4325 - accuracy: 0.6087
 67/108 [=================>............] - ETA: 24s - loss: 1.4312 - accuracy: 0.6089
 68/108 [=================>............] - ETA: 23s - loss: 1.4299 - accuracy: 0.6092
 69/108 [==================>...........] - ETA: 23s - loss: 1.4291 - accuracy: 0.6093
 70/108 [==================>...........] - ETA: 22s - loss: 1.4278 - accuracy: 0.6095
 71/108 [==================>...........] - ETA: 22s - loss: 1.4265 - accuracy: 0.6097
 72/108 [===================>..........] - ETA: 21s - loss: 1.4257 - accuracy: 0.6097
 73/108 [===================>..........] - ETA: 20s - loss: 1.4243 - accuracy: 0.6100
 74/108 [===================>..........] - ETA: 20s - loss: 1.4233 - accuracy: 0.6102
 75/108 [===================>..........] - ETA: 19s - loss: 1.4224 - accuracy: 0.6103
 76/108 [====================>.........] - ETA: 19s - loss: 1.4215 - accuracy: 0.6106
 77/108 [====================>.........] - ETA: 18s - loss: 1.4201 - accuracy: 0.6109
 78/108 [====================>.........] - ETA: 17s - loss: 1.4186 - accuracy: 0.6111
 79/108 [====================>.........] - ETA: 17s - loss: 1.4176 - accuracy: 0.6113
 80/108 [=====================>........] - ETA: 16s - loss: 1.4164 - accuracy: 0.6115
 81/108 [=====================>........] - ETA: 16s - loss: 1.4155 - accuracy: 0.6117
 82/108 [=====================>........] - ETA: 15s - loss: 1.4145 - accuracy: 0.6119
 83/108 [======================>.......] - ETA: 14s - loss: 1.4136 - accuracy: 0.6120
 84/108 [======================>.......] - ETA: 14s - loss: 1.4127 - accuracy: 0.6122
 85/108 [======================>.......] - ETA: 13s - loss: 1.4117 - accuracy: 0.6124
 86/108 [======================>.......] - ETA: 13s - loss: 1.4105 - accuracy: 0.6126
 87/108 [=======================>......] - ETA: 12s - loss: 1.4096 - accuracy: 0.6127
 88/108 [=======================>......] - ETA: 11s - loss: 1.4088 - accuracy: 0.6128
 89/108 [=======================>......] - ETA: 11s - loss: 1.4077 - accuracy: 0.6131
 90/108 [========================>.....] - ETA: 10s - loss: 1.4066 - accuracy: 0.6132
 91/108 [========================>.....] - ETA: 10s - loss: 1.4058 - accuracy: 0.6133
 92/108 [========================>.....] - ETA: 9s - loss: 1.4046 - accuracy: 0.6135 
 93/108 [========================>.....] - ETA: 8s - loss: 1.4035 - accuracy: 0.6137
 94/108 [=========================>....] - ETA: 8s - loss: 1.4028 - accuracy: 0.6138
 95/108 [=========================>....] - ETA: 7s - loss: 1.4016 - accuracy: 0.6140
 96/108 [=========================>....] - ETA: 7s - loss: 1.4009 - accuracy: 0.6141
 97/108 [=========================>....] - ETA: 6s - loss: 1.3998 - accuracy: 0.6143
 98/108 [==========================>...] - ETA: 5s - loss: 1.3985 - accuracy: 0.6145
 99/108 [==========================>...] - ETA: 5s - loss: 1.3977 - accuracy: 0.6146
100/108 [==========================>...] - ETA: 4s - loss: 1.3969 - accuracy: 0.6146
101/108 [===========================>..] - ETA: 4s - loss: 1.3960 - accuracy: 0.6148
102/108 [===========================>..] - ETA: 3s - loss: 1.3950 - accuracy: 0.6149
103/108 [===========================>..] - ETA: 2s - loss: 1.3941 - accuracy: 0.6151
104/108 [===========================>..] - ETA: 2s - loss: 1.3934 - accuracy: 0.6153
105/108 [============================>.] - ETA: 1s - loss: 1.3925 - accuracy: 0.6154
106/108 [============================>.] - ETA: 1s - loss: 1.3915 - accuracy: 0.6156
107/108 [============================>.] - ETA: 0s - loss: 1.3908 - accuracy: 0.6157
108/108 [==============================] - 64s 595ms/step - loss: 1.3902 - accuracy: 0.6158

108/108 [==============================] - 70s 645ms/step - loss: 1.3902 - accuracy: 0.6158 - val_loss: 1.2241 - val_accuracy: 0.6361
Epoch 3/10

  1/108 [..............................] - ETA: 1:02 - loss: 1.2726 - accuracy: 0.6300
  2/108 [..............................] - ETA: 1:03 - loss: 1.2678 - accuracy: 0.6328
  3/108 [..............................] - ETA: 1:02 - loss: 1.2825 - accuracy: 0.6295
  4/108 [>.............................] - ETA: 1:02 - loss: 1.2794 - accuracy: 0.6294
  5/108 [>.............................] - ETA: 1:01 - loss: 1.2803 - accuracy: 0.6293
  6/108 [>.............................] - ETA: 1:00 - loss: 1.2831 - accuracy: 0.6294
  7/108 [>.............................] - ETA: 1:00 - loss: 1.2886 - accuracy: 0.6286
  8/108 [=>............................] - ETA: 59s - loss: 1.2899 - accuracy: 0.6286 
  9/108 [=>............................] - ETA: 58s - loss: 1.2902 - accuracy: 0.6286
 10/108 [=>............................] - ETA: 58s - loss: 1.2860 - accuracy: 0.6300
 11/108 [==>...........................] - ETA: 57s - loss: 1.2832 - accuracy: 0.6309
 12/108 [==>...........................] - ETA: 57s - loss: 1.2845 - accuracy: 0.6310
 13/108 [==>...........................] - ETA: 56s - loss: 1.2837 - accuracy: 0.6315
 14/108 [==>...........................] - ETA: 56s - loss: 1.2838 - accuracy: 0.6313
 15/108 [===>..........................] - ETA: 55s - loss: 1.2824 - accuracy: 0.6315
 16/108 [===>..........................] - ETA: 55s - loss: 1.2814 - accuracy: 0.6319
 17/108 [===>..........................] - ETA: 54s - loss: 1.2830 - accuracy: 0.6314
 18/108 [====>.........................] - ETA: 53s - loss: 1.2828 - accuracy: 0.6314
 19/108 [====>.........................] - ETA: 53s - loss: 1.2827 - accuracy: 0.6314
 20/108 [====>.........................] - ETA: 52s - loss: 1.2826 - accuracy: 0.6314
 21/108 [====>.........................] - ETA: 52s - loss: 1.2815 - accuracy: 0.6316
 22/108 [=====>........................] - ETA: 51s - loss: 1.2808 - accuracy: 0.6316
 23/108 [=====>........................] - ETA: 51s - loss: 1.2790 - accuracy: 0.6322
 24/108 [=====>........................] - ETA: 50s - loss: 1.2773 - accuracy: 0.6326
 25/108 [=====>........................] - ETA: 49s - loss: 1.2760 - accuracy: 0.6329
 26/108 [======>.......................] - ETA: 49s - loss: 1.2755 - accuracy: 0.6332
 27/108 [======>.......................] - ETA: 48s - loss: 1.2754 - accuracy: 0.6333
 28/108 [======>.......................] - ETA: 47s - loss: 1.2748 - accuracy: 0.6334
 29/108 [=======>......................] - ETA: 47s - loss: 1.2726 - accuracy: 0.6340
 30/108 [=======>......................] - ETA: 46s - loss: 1.2716 - accuracy: 0.6343
 31/108 [=======>......................] - ETA: 46s - loss: 1.2700 - accuracy: 0.6345
 32/108 [=======>......................] - ETA: 45s - loss: 1.2696 - accuracy: 0.6346
 33/108 [========>.....................] - ETA: 44s - loss: 1.2693 - accuracy: 0.6347
 34/108 [========>.....................] - ETA: 44s - loss: 1.2681 - accuracy: 0.6350
 35/108 [========>.....................] - ETA: 43s - loss: 1.2669 - accuracy: 0.6354
 36/108 [=========>....................] - ETA: 43s - loss: 1.2666 - accuracy: 0.6356
 37/108 [=========>....................] - ETA: 42s - loss: 1.2661 - accuracy: 0.6356
 38/108 [=========>....................] - ETA: 42s - loss: 1.2645 - accuracy: 0.6360
 39/108 [=========>....................] - ETA: 41s - loss: 1.2632 - accuracy: 0.6362
 40/108 [==========>...................] - ETA: 40s - loss: 1.2629 - accuracy: 0.6363
 41/108 [==========>...................] - ETA: 40s - loss: 1.2624 - accuracy: 0.6362
 42/108 [==========>...................] - ETA: 39s - loss: 1.2619 - accuracy: 0.6363
 43/108 [==========>...................] - ETA: 39s - loss: 1.2611 - accuracy: 0.6364
 44/108 [===========>..................] - ETA: 38s - loss: 1.2597 - accuracy: 0.6367
 45/108 [===========>..................] - ETA: 37s - loss: 1.2595 - accuracy: 0.6367
 46/108 [===========>..................] - ETA: 37s - loss: 1.2589 - accuracy: 0.6368
 47/108 [============>.................] - ETA: 36s - loss: 1.2579 - accuracy: 0.6368
 48/108 [============>.................] - ETA: 36s - loss: 1.2575 - accuracy: 0.6369
 49/108 [============>.................] - ETA: 35s - loss: 1.2563 - accuracy: 0.6371
 50/108 [============>.................] - ETA: 34s - loss: 1.2559 - accuracy: 0.6371
 51/108 [=============>................] - ETA: 34s - loss: 1.2552 - accuracy: 0.6372
 52/108 [=============>................] - ETA: 33s - loss: 1.2540 - accuracy: 0.6375
 53/108 [=============>................] - ETA: 33s - loss: 1.2534 - accuracy: 0.6375
 54/108 [==============>...............] - ETA: 32s - loss: 1.2526 - accuracy: 0.6377
 55/108 [==============>...............] - ETA: 31s - loss: 1.2518 - accuracy: 0.6378
 56/108 [==============>...............] - ETA: 31s - loss: 1.2516 - accuracy: 0.6379
 57/108 [==============>...............] - ETA: 30s - loss: 1.2512 - accuracy: 0.6378
 58/108 [===============>..............] - ETA: 30s - loss: 1.2506 - accuracy: 0.6380
 59/108 [===============>..............] - ETA: 29s - loss: 1.2502 - accuracy: 0.6380
 60/108 [===============>..............] - ETA: 28s - loss: 1.2499 - accuracy: 0.6380
 61/108 [===============>..............] - ETA: 28s - loss: 1.2499 - accuracy: 0.6380
 62/108 [================>.............] - ETA: 27s - loss: 1.2497 - accuracy: 0.6380
 63/108 [================>.............] - ETA: 27s - loss: 1.2497 - accuracy: 0.6379
 64/108 [================>.............] - ETA: 26s - loss: 1.2492 - accuracy: 0.6379
 65/108 [=================>............] - ETA: 25s - loss: 1.2491 - accuracy: 0.6379
 66/108 [=================>............] - ETA: 25s - loss: 1.2487 - accuracy: 0.6379
 67/108 [=================>............] - ETA: 24s - loss: 1.2481 - accuracy: 0.6380
 68/108 [=================>............] - ETA: 24s - loss: 1.2470 - accuracy: 0.6383
 69/108 [==================>...........] - ETA: 23s - loss: 1.2464 - accuracy: 0.6385
 70/108 [==================>...........] - ETA: 22s - loss: 1.2457 - accuracy: 0.6386
 71/108 [==================>...........] - ETA: 22s - loss: 1.2449 - accuracy: 0.6388
 72/108 [===================>..........] - ETA: 21s - loss: 1.2445 - accuracy: 0.6388
 73/108 [===================>..........] - ETA: 21s - loss: 1.2442 - accuracy: 0.6389
 74/108 [===================>..........] - ETA: 20s - loss: 1.2441 - accuracy: 0.6389
 75/108 [===================>..........] - ETA: 19s - loss: 1.2439 - accuracy: 0.6389
 76/108 [====================>.........] - ETA: 19s - loss: 1.2434 - accuracy: 0.6390
 77/108 [====================>.........] - ETA: 18s - loss: 1.2427 - accuracy: 0.6392
 78/108 [====================>.........] - ETA: 18s - loss: 1.2418 - accuracy: 0.6393
 79/108 [====================>.........] - ETA: 17s - loss: 1.2408 - accuracy: 0.6396
 80/108 [=====================>........] - ETA: 16s - loss: 1.2402 - accuracy: 0.6397
 81/108 [=====================>........] - ETA: 16s - loss: 1.2397 - accuracy: 0.6397
 82/108 [=====================>........] - ETA: 15s - loss: 1.2391 - accuracy: 0.6399
 83/108 [======================>.......] - ETA: 15s - loss: 1.2381 - accuracy: 0.6402
 84/108 [======================>.......] - ETA: 14s - loss: 1.2376 - accuracy: 0.6402
 85/108 [======================>.......] - ETA: 13s - loss: 1.2377 - accuracy: 0.6402
 86/108 [======================>.......] - ETA: 13s - loss: 1.2372 - accuracy: 0.6403
 87/108 [=======================>......] - ETA: 12s - loss: 1.2370 - accuracy: 0.6403
 88/108 [=======================>......] - ETA: 12s - loss: 1.2364 - accuracy: 0.6404
 89/108 [=======================>......] - ETA: 11s - loss: 1.2358 - accuracy: 0.6405
 90/108 [========================>.....] - ETA: 10s - loss: 1.2353 - accuracy: 0.6406
 91/108 [========================>.....] - ETA: 10s - loss: 1.2348 - accuracy: 0.6407
 92/108 [========================>.....] - ETA: 9s - loss: 1.2341 - accuracy: 0.6409 
 93/108 [========================>.....] - ETA: 9s - loss: 1.2336 - accuracy: 0.6410
 94/108 [=========================>....] - ETA: 8s - loss: 1.2331 - accuracy: 0.6411
 95/108 [=========================>....] - ETA: 7s - loss: 1.2327 - accuracy: 0.6411
 96/108 [=========================>....] - ETA: 7s - loss: 1.2323 - accuracy: 0.6411
 97/108 [=========================>....] - ETA: 6s - loss: 1.2319 - accuracy: 0.6412
 98/108 [==========================>...] - ETA: 6s - loss: 1.2310 - accuracy: 0.6414
 99/108 [==========================>...] - ETA: 5s - loss: 1.2306 - accuracy: 0.6415
100/108 [==========================>...] - ETA: 4s - loss: 1.2301 - accuracy: 0.6416
101/108 [===========================>..] - ETA: 4s - loss: 1.2298 - accuracy: 0.6416
102/108 [===========================>..] - ETA: 3s - loss: 1.2296 - accuracy: 0.6416
103/108 [===========================>..] - ETA: 3s - loss: 1.2289 - accuracy: 0.6417
104/108 [===========================>..] - ETA: 2s - loss: 1.2283 - accuracy: 0.6418
105/108 [============================>.] - ETA: 1s - loss: 1.2276 - accuracy: 0.6419
106/108 [============================>.] - ETA: 1s - loss: 1.2270 - accuracy: 0.6420
107/108 [============================>.] - ETA: 0s - loss: 1.2264 - accuracy: 0.6421
108/108 [==============================] - 65s 606ms/step - loss: 1.2259 - accuracy: 0.6421

108/108 [==============================] - 71s 657ms/step - loss: 1.2259 - accuracy: 0.6421 - val_loss: 1.0995 - val_accuracy: 0.6726
Epoch 4/10

  1/108 [..............................] - ETA: 1:05 - loss: 1.1731 - accuracy: 0.6509
  2/108 [..............................] - ETA: 1:02 - loss: 1.1650 - accuracy: 0.6518
  3/108 [..............................] - ETA: 1:03 - loss: 1.1669 - accuracy: 0.6524
  4/108 [>.............................] - ETA: 1:02 - loss: 1.1741 - accuracy: 0.6507
  5/108 [>.............................] - ETA: 1:01 - loss: 1.1719 - accuracy: 0.6507
  6/108 [>.............................] - ETA: 1:01 - loss: 1.1703 - accuracy: 0.6516
  7/108 [>.............................] - ETA: 1:00 - loss: 1.1700 - accuracy: 0.6521
  8/108 [=>............................] - ETA: 59s - loss: 1.1711 - accuracy: 0.6518 
  9/108 [=>............................] - ETA: 59s - loss: 1.1723 - accuracy: 0.6519
 10/108 [=>............................] - ETA: 58s - loss: 1.1732 - accuracy: 0.6514
 11/108 [==>...........................] - ETA: 58s - loss: 1.1771 - accuracy: 0.6504
 12/108 [==>...........................] - ETA: 57s - loss: 1.1775 - accuracy: 0.6502
 13/108 [==>...........................] - ETA: 56s - loss: 1.1787 - accuracy: 0.6494
 14/108 [==>...........................] - ETA: 56s - loss: 1.1786 - accuracy: 0.6490
 15/108 [===>..........................] - ETA: 55s - loss: 1.1763 - accuracy: 0.6494
 16/108 [===>..........................] - ETA: 55s - loss: 1.1753 - accuracy: 0.6493
 17/108 [===>..........................] - ETA: 54s - loss: 1.1740 - accuracy: 0.6494
 18/108 [====>.........................] - ETA: 54s - loss: 1.1723 - accuracy: 0.6499
 19/108 [====>.........................] - ETA: 53s - loss: 1.1709 - accuracy: 0.6505
 20/108 [====>.........................] - ETA: 52s - loss: 1.1719 - accuracy: 0.6501
 21/108 [====>.........................] - ETA: 52s - loss: 1.1707 - accuracy: 0.6505
 22/108 [=====>........................] - ETA: 51s - loss: 1.1709 - accuracy: 0.6503
 23/108 [=====>........................] - ETA: 51s - loss: 1.1695 - accuracy: 0.6506
 24/108 [=====>........................] - ETA: 50s - loss: 1.1682 - accuracy: 0.6509
 25/108 [=====>........................] - ETA: 50s - loss: 1.1682 - accuracy: 0.6508
 26/108 [======>.......................] - ETA: 49s - loss: 1.1678 - accuracy: 0.6510
 27/108 [======>.......................] - ETA: 48s - loss: 1.1678 - accuracy: 0.6510
 28/108 [======>.......................] - ETA: 48s - loss: 1.1670 - accuracy: 0.6511
 29/108 [=======>......................] - ETA: 47s - loss: 1.1685 - accuracy: 0.6509
 30/108 [=======>......................] - ETA: 47s - loss: 1.1683 - accuracy: 0.6508
 31/108 [=======>......................] - ETA: 46s - loss: 1.1693 - accuracy: 0.6506
 32/108 [=======>......................] - ETA: 46s - loss: 1.1685 - accuracy: 0.6510
 33/108 [========>.....................] - ETA: 45s - loss: 1.1676 - accuracy: 0.6510
 34/108 [========>.....................] - ETA: 45s - loss: 1.1676 - accuracy: 0.6511
 35/108 [========>.....................] - ETA: 44s - loss: 1.1668 - accuracy: 0.6513
 36/108 [=========>....................] - ETA: 43s - loss: 1.1660 - accuracy: 0.6514
 37/108 [=========>....................] - ETA: 43s - loss: 1.1658 - accuracy: 0.6514
 38/108 [=========>....................] - ETA: 42s - loss: 1.1651 - accuracy: 0.6516
 39/108 [=========>....................] - ETA: 42s - loss: 1.1643 - accuracy: 0.6518
 40/108 [==========>...................] - ETA: 41s - loss: 1.1640 - accuracy: 0.6518
 41/108 [==========>...................] - ETA: 40s - loss: 1.1634 - accuracy: 0.6519
 42/108 [==========>...................] - ETA: 40s - loss: 1.1627 - accuracy: 0.6520
 43/108 [==========>...................] - ETA: 39s - loss: 1.1623 - accuracy: 0.6520
 44/108 [===========>..................] - ETA: 38s - loss: 1.1615 - accuracy: 0.6523
 45/108 [===========>..................] - ETA: 38s - loss: 1.1607 - accuracy: 0.6525
 46/108 [===========>..................] - ETA: 37s - loss: 1.1600 - accuracy: 0.6527
 47/108 [============>.................] - ETA: 37s - loss: 1.1592 - accuracy: 0.6529
 48/108 [============>.................] - ETA: 36s - loss: 1.1588 - accuracy: 0.6531
 49/108 [============>.................] - ETA: 35s - loss: 1.1581 - accuracy: 0.6531
 50/108 [============>.................] - ETA: 35s - loss: 1.1577 - accuracy: 0.6531
 51/108 [=============>................] - ETA: 34s - loss: 1.1573 - accuracy: 0.6532
 52/108 [=============>................] - ETA: 34s - loss: 1.1571 - accuracy: 0.6531
 53/108 [=============>................] - ETA: 33s - loss: 1.1567 - accuracy: 0.6533
 54/108 [==============>...............] - ETA: 32s - loss: 1.1566 - accuracy: 0.6532
 55/108 [==============>...............] - ETA: 32s - loss: 1.1561 - accuracy: 0.6534
 56/108 [==============>...............] - ETA: 31s - loss: 1.1556 - accuracy: 0.6535
 57/108 [==============>...............] - ETA: 30s - loss: 1.1551 - accuracy: 0.6537
 58/108 [===============>..............] - ETA: 30s - loss: 1.1554 - accuracy: 0.6536
 59/108 [===============>..............] - ETA: 29s - loss: 1.1551 - accuracy: 0.6536
 60/108 [===============>..............] - ETA: 29s - loss: 1.1549 - accuracy: 0.6537
 61/108 [===============>..............] - ETA: 28s - loss: 1.1548 - accuracy: 0.6536
 62/108 [================>.............] - ETA: 27s - loss: 1.1543 - accuracy: 0.6537
 63/108 [================>.............] - ETA: 27s - loss: 1.1542 - accuracy: 0.6537
 64/108 [================>.............] - ETA: 26s - loss: 1.1539 - accuracy: 0.6537
 65/108 [=================>............] - ETA: 26s - loss: 1.1536 - accuracy: 0.6537
 66/108 [=================>............] - ETA: 25s - loss: 1.1537 - accuracy: 0.6537
 67/108 [=================>............] - ETA: 24s - loss: 1.1532 - accuracy: 0.6537
 68/108 [=================>............] - ETA: 24s - loss: 1.1526 - accuracy: 0.6538
 69/108 [==================>...........] - ETA: 23s - loss: 1.1523 - accuracy: 0.6539
 70/108 [==================>...........] - ETA: 23s - loss: 1.1523 - accuracy: 0.6539
 71/108 [==================>...........] - ETA: 22s - loss: 1.1522 - accuracy: 0.6540
 72/108 [===================>..........] - ETA: 21s - loss: 1.1520 - accuracy: 0.6540
 73/108 [===================>..........] - ETA: 21s - loss: 1.1518 - accuracy: 0.6540
 74/108 [===================>..........] - ETA: 20s - loss: 1.1516 - accuracy: 0.6541
 75/108 [===================>..........] - ETA: 20s - loss: 1.1511 - accuracy: 0.6542
 76/108 [====================>.........] - ETA: 19s - loss: 1.1505 - accuracy: 0.6543
 77/108 [====================>.........] - ETA: 18s - loss: 1.1500 - accuracy: 0.6544
 78/108 [====================>.........] - ETA: 18s - loss: 1.1496 - accuracy: 0.6544
 79/108 [====================>.........] - ETA: 17s - loss: 1.1490 - accuracy: 0.6545
 80/108 [=====================>........] - ETA: 17s - loss: 1.1483 - accuracy: 0.6547
 81/108 [=====================>........] - ETA: 16s - loss: 1.1481 - accuracy: 0.6548
 82/108 [=====================>........] - ETA: 15s - loss: 1.1480 - accuracy: 0.6548
 83/108 [======================>.......] - ETA: 15s - loss: 1.1476 - accuracy: 0.6548
 84/108 [======================>.......] - ETA: 14s - loss: 1.1468 - accuracy: 0.6550
 85/108 [======================>.......] - ETA: 14s - loss: 1.1464 - accuracy: 0.6551
 86/108 [======================>.......] - ETA: 13s - loss: 1.1460 - accuracy: 0.6552
 87/108 [=======================>......] - ETA: 12s - loss: 1.1457 - accuracy: 0.6552
 88/108 [=======================>......] - ETA: 12s - loss: 1.1455 - accuracy: 0.6552
 89/108 [=======================>......] - ETA: 11s - loss: 1.1451 - accuracy: 0.6553
 90/108 [========================>.....] - ETA: 10s - loss: 1.1445 - accuracy: 0.6555
 91/108 [========================>.....] - ETA: 10s - loss: 1.1442 - accuracy: 0.6555
 92/108 [========================>.....] - ETA: 9s - loss: 1.1437 - accuracy: 0.6556 
 93/108 [========================>.....] - ETA: 9s - loss: 1.1433 - accuracy: 0.6557
 94/108 [=========================>....] - ETA: 8s - loss: 1.1433 - accuracy: 0.6556
 95/108 [=========================>....] - ETA: 7s - loss: 1.1427 - accuracy: 0.6557
 96/108 [=========================>....] - ETA: 7s - loss: 1.1425 - accuracy: 0.6557
 97/108 [=========================>....] - ETA: 6s - loss: 1.1418 - accuracy: 0.6559
 98/108 [==========================>...] - ETA: 6s - loss: 1.1414 - accuracy: 0.6559
 99/108 [==========================>...] - ETA: 5s - loss: 1.1411 - accuracy: 0.6560
100/108 [==========================>...] - ETA: 4s - loss: 1.1407 - accuracy: 0.6561
101/108 [===========================>..] - ETA: 4s - loss: 1.1406 - accuracy: 0.6561
102/108 [===========================>..] - ETA: 3s - loss: 1.1405 - accuracy: 0.6561
103/108 [===========================>..] - ETA: 3s - loss: 1.1405 - accuracy: 0.6561
104/108 [===========================>..] - ETA: 2s - loss: 1.1402 - accuracy: 0.6562
105/108 [============================>.] - ETA: 1s - loss: 1.1401 - accuracy: 0.6562
106/108 [============================>.] - ETA: 1s - loss: 1.1396 - accuracy: 0.6563
107/108 [============================>.] - ETA: 0s - loss: 1.1391 - accuracy: 0.6565
108/108 [==============================] - 65s 606ms/step - loss: 1.1387 - accuracy: 0.6566

108/108 [==============================] - 71s 657ms/step - loss: 1.1387 - accuracy: 0.6566 - val_loss: 1.0247 - val_accuracy: 0.6876
Epoch 5/10

  1/108 [..............................] - ETA: 1:04 - loss: 1.1114 - accuracy: 0.6616
  2/108 [..............................] - ETA: 1:04 - loss: 1.1010 - accuracy: 0.6602
  3/108 [..............................] - ETA: 1:03 - loss: 1.0907 - accuracy: 0.6643
  4/108 [>.............................] - ETA: 1:03 - loss: 1.0933 - accuracy: 0.6639
  5/108 [>.............................] - ETA: 1:02 - loss: 1.0955 - accuracy: 0.6625
  6/108 [>.............................] - ETA: 1:01 - loss: 1.0940 - accuracy: 0.6634
  7/108 [>.............................] - ETA: 1:01 - loss: 1.0942 - accuracy: 0.6639
  8/108 [=>............................] - ETA: 1:00 - loss: 1.0979 - accuracy: 0.6627
  9/108 [=>............................] - ETA: 59s - loss: 1.0984 - accuracy: 0.6624 
 10/108 [=>............................] - ETA: 59s - loss: 1.0966 - accuracy: 0.6624
 11/108 [==>...........................] - ETA: 58s - loss: 1.0960 - accuracy: 0.6622
 12/108 [==>...........................] - ETA: 57s - loss: 1.0951 - accuracy: 0.6624
 13/108 [==>...........................] - ETA: 57s - loss: 1.0946 - accuracy: 0.6626
 14/108 [==>...........................] - ETA: 56s - loss: 1.0955 - accuracy: 0.6623
 15/108 [===>..........................] - ETA: 56s - loss: 1.0954 - accuracy: 0.6625
 16/108 [===>..........................] - ETA: 55s - loss: 1.0952 - accuracy: 0.6626
 17/108 [===>..........................] - ETA: 55s - loss: 1.0935 - accuracy: 0.6631
 18/108 [====>.........................] - ETA: 54s - loss: 1.0924 - accuracy: 0.6638
 19/108 [====>.........................] - ETA: 54s - loss: 1.0920 - accuracy: 0.6641
 20/108 [====>.........................] - ETA: 53s - loss: 1.0926 - accuracy: 0.6639
 21/108 [====>.........................] - ETA: 53s - loss: 1.0929 - accuracy: 0.6638
 22/108 [=====>........................] - ETA: 52s - loss: 1.0933 - accuracy: 0.6639
 23/108 [=====>........................] - ETA: 51s - loss: 1.0931 - accuracy: 0.6637
 24/108 [=====>........................] - ETA: 51s - loss: 1.0937 - accuracy: 0.6636
 25/108 [=====>........................] - ETA: 50s - loss: 1.0934 - accuracy: 0.6637
 26/108 [======>.......................] - ETA: 50s - loss: 1.0930 - accuracy: 0.6637
 27/108 [======>.......................] - ETA: 49s - loss: 1.0940 - accuracy: 0.6635
 28/108 [======>.......................] - ETA: 49s - loss: 1.0950 - accuracy: 0.6632
 29/108 [=======>......................] - ETA: 48s - loss: 1.0956 - accuracy: 0.6631
 30/108 [=======>......................] - ETA: 48s - loss: 1.0950 - accuracy: 0.6632
 31/108 [=======>......................] - ETA: 47s - loss: 1.0946 - accuracy: 0.6633
 32/108 [=======>......................] - ETA: 46s - loss: 1.0942 - accuracy: 0.6634
 33/108 [========>.....................] - ETA: 46s - loss: 1.0940 - accuracy: 0.6635
 34/108 [========>.....................] - ETA: 45s - loss: 1.0946 - accuracy: 0.6632
 35/108 [========>.....................] - ETA: 45s - loss: 1.0939 - accuracy: 0.6635
 36/108 [=========>....................] - ETA: 44s - loss: 1.0939 - accuracy: 0.6635
 37/108 [=========>....................] - ETA: 43s - loss: 1.0939 - accuracy: 0.6635
 38/108 [=========>....................] - ETA: 43s - loss: 1.0929 - accuracy: 0.6638
 39/108 [=========>....................] - ETA: 42s - loss: 1.0924 - accuracy: 0.6639
 40/108 [==========>...................] - ETA: 41s - loss: 1.0922 - accuracy: 0.6639
 41/108 [==========>...................] - ETA: 41s - loss: 1.0926 - accuracy: 0.6638
 42/108 [==========>...................] - ETA: 40s - loss: 1.0927 - accuracy: 0.6637
 43/108 [==========>...................] - ETA: 39s - loss: 1.0921 - accuracy: 0.6639
 44/108 [===========>..................] - ETA: 39s - loss: 1.0919 - accuracy: 0.6640
 45/108 [===========>..................] - ETA: 38s - loss: 1.0919 - accuracy: 0.6639
 46/108 [===========>..................] - ETA: 38s - loss: 1.0910 - accuracy: 0.6641
 47/108 [============>.................] - ETA: 37s - loss: 1.0905 - accuracy: 0.6643
 48/108 [============>.................] - ETA: 36s - loss: 1.0901 - accuracy: 0.6643
 49/108 [============>.................] - ETA: 36s - loss: 1.0895 - accuracy: 0.6643
 50/108 [============>.................] - ETA: 35s - loss: 1.0892 - accuracy: 0.6644
 51/108 [=============>................] - ETA: 34s - loss: 1.0889 - accuracy: 0.6644
 52/108 [=============>................] - ETA: 34s - loss: 1.0883 - accuracy: 0.6645
 53/108 [=============>................] - ETA: 33s - loss: 1.0878 - accuracy: 0.6646
 54/108 [==============>...............] - ETA: 33s - loss: 1.0877 - accuracy: 0.6646
 55/108 [==============>...............] - ETA: 32s - loss: 1.0875 - accuracy: 0.6647
 56/108 [==============>...............] - ETA: 31s - loss: 1.0874 - accuracy: 0.6647
 57/108 [==============>...............] - ETA: 31s - loss: 1.0874 - accuracy: 0.6648
 58/108 [===============>..............] - ETA: 30s - loss: 1.0874 - accuracy: 0.6648
 59/108 [===============>..............] - ETA: 30s - loss: 1.0872 - accuracy: 0.6648
 60/108 [===============>..............] - ETA: 29s - loss: 1.0874 - accuracy: 0.6648
 61/108 [===============>..............] - ETA: 28s - loss: 1.0875 - accuracy: 0.6648
 62/108 [================>.............] - ETA: 28s - loss: 1.0874 - accuracy: 0.6648
 63/108 [================>.............] - ETA: 27s - loss: 1.0870 - accuracy: 0.6649
 64/108 [================>.............] - ETA: 27s - loss: 1.0870 - accuracy: 0.6649
 65/108 [=================>............] - ETA: 26s - loss: 1.0870 - accuracy: 0.6649
 66/108 [=================>............] - ETA: 25s - loss: 1.0872 - accuracy: 0.6649
 67/108 [=================>............] - ETA: 25s - loss: 1.0871 - accuracy: 0.6648
 68/108 [=================>............] - ETA: 24s - loss: 1.0866 - accuracy: 0.6648
 69/108 [==================>...........] - ETA: 23s - loss: 1.0862 - accuracy: 0.6649
 70/108 [==================>...........] - ETA: 23s - loss: 1.0861 - accuracy: 0.6650
 71/108 [==================>...........] - ETA: 22s - loss: 1.0860 - accuracy: 0.6650
 72/108 [===================>..........] - ETA: 22s - loss: 1.0858 - accuracy: 0.6651
 73/108 [===================>..........] - ETA: 21s - loss: 1.0857 - accuracy: 0.6651
 74/108 [===================>..........] - ETA: 20s - loss: 1.0854 - accuracy: 0.6652
 75/108 [===================>..........] - ETA: 20s - loss: 1.0852 - accuracy: 0.6653
 76/108 [====================>.........] - ETA: 19s - loss: 1.0850 - accuracy: 0.6653
 77/108 [====================>.........] - ETA: 19s - loss: 1.0846 - accuracy: 0.6653
 78/108 [====================>.........] - ETA: 18s - loss: 1.0844 - accuracy: 0.6654
 79/108 [====================>.........] - ETA: 17s - loss: 1.0841 - accuracy: 0.6654
 80/108 [=====================>........] - ETA: 17s - loss: 1.0841 - accuracy: 0.6654
 81/108 [=====================>........] - ETA: 16s - loss: 1.0838 - accuracy: 0.6655
 82/108 [=====================>........] - ETA: 15s - loss: 1.0833 - accuracy: 0.6656
 83/108 [======================>.......] - ETA: 15s - loss: 1.0832 - accuracy: 0.6655
 84/108 [======================>.......] - ETA: 14s - loss: 1.0830 - accuracy: 0.6656
 85/108 [======================>.......] - ETA: 14s - loss: 1.0826 - accuracy: 0.6656
 86/108 [======================>.......] - ETA: 13s - loss: 1.0827 - accuracy: 0.6655
 87/108 [=======================>......] - ETA: 12s - loss: 1.0825 - accuracy: 0.6656
 88/108 [=======================>......] - ETA: 12s - loss: 1.0822 - accuracy: 0.6656
 89/108 [=======================>......] - ETA: 11s - loss: 1.0820 - accuracy: 0.6656
 90/108 [========================>.....] - ETA: 11s - loss: 1.0816 - accuracy: 0.6657
 91/108 [========================>.....] - ETA: 10s - loss: 1.0814 - accuracy: 0.6657
 92/108 [========================>.....] - ETA: 9s - loss: 1.0812 - accuracy: 0.6657 
 93/108 [========================>.....] - ETA: 9s - loss: 1.0811 - accuracy: 0.6658
 94/108 [=========================>....] - ETA: 8s - loss: 1.0809 - accuracy: 0.6658
 95/108 [=========================>....] - ETA: 7s - loss: 1.0804 - accuracy: 0.6659
 96/108 [=========================>....] - ETA: 7s - loss: 1.0798 - accuracy: 0.6660
 97/108 [=========================>....] - ETA: 6s - loss: 1.0794 - accuracy: 0.6661
 98/108 [==========================>...] - ETA: 6s - loss: 1.0788 - accuracy: 0.6663
 99/108 [==========================>...] - ETA: 5s - loss: 1.0787 - accuracy: 0.6663
100/108 [==========================>...] - ETA: 4s - loss: 1.0785 - accuracy: 0.6663
101/108 [===========================>..] - ETA: 4s - loss: 1.0781 - accuracy: 0.6664
102/108 [===========================>..] - ETA: 3s - loss: 1.0776 - accuracy: 0.6664
103/108 [===========================>..] - ETA: 3s - loss: 1.0772 - accuracy: 0.6665
104/108 [===========================>..] - ETA: 2s - loss: 1.0768 - accuracy: 0.6666
105/108 [============================>.] - ETA: 1s - loss: 1.0764 - accuracy: 0.6667
106/108 [============================>.] - ETA: 1s - loss: 1.0765 - accuracy: 0.6667
107/108 [============================>.] - ETA: 0s - loss: 1.0764 - accuracy: 0.6667
108/108 [==============================] - 66s 613ms/step - loss: 1.0761 - accuracy: 0.6668

108/108 [==============================] - 72s 667ms/step - loss: 1.0761 - accuracy: 0.6668 - val_loss: 0.9956 - val_accuracy: 0.6730
Epoch 6/10

  1/108 [..............................] - ETA: 1:13 - loss: 1.0405 - accuracy: 0.6735
  2/108 [..............................] - ETA: 1:10 - loss: 1.0446 - accuracy: 0.6722
  3/108 [..............................] - ETA: 1:07 - loss: 1.0461 - accuracy: 0.6738
  4/108 [>.............................] - ETA: 1:05 - loss: 1.0483 - accuracy: 0.6734
  5/108 [>.............................] - ETA: 1:04 - loss: 1.0522 - accuracy: 0.6717
  6/108 [>.............................] - ETA: 1:03 - loss: 1.0540 - accuracy: 0.6711
  7/108 [>.............................] - ETA: 1:03 - loss: 1.0536 - accuracy: 0.6709
  8/108 [=>............................] - ETA: 1:03 - loss: 1.0543 - accuracy: 0.6700
  9/108 [=>............................] - ETA: 1:03 - loss: 1.0515 - accuracy: 0.6705
 10/108 [=>............................] - ETA: 1:02 - loss: 1.0527 - accuracy: 0.6706
 11/108 [==>...........................] - ETA: 1:02 - loss: 1.0525 - accuracy: 0.6706
 12/108 [==>...........................] - ETA: 1:02 - loss: 1.0548 - accuracy: 0.6694
 13/108 [==>...........................] - ETA: 1:01 - loss: 1.0555 - accuracy: 0.6693
 14/108 [==>...........................] - ETA: 1:00 - loss: 1.0538 - accuracy: 0.6697
 15/108 [===>..........................] - ETA: 59s - loss: 1.0519 - accuracy: 0.6701 
 16/108 [===>..........................] - ETA: 59s - loss: 1.0526 - accuracy: 0.6700
 17/108 [===>..........................] - ETA: 58s - loss: 1.0529 - accuracy: 0.6700
 18/108 [====>.........................] - ETA: 57s - loss: 1.0529 - accuracy: 0.6700
 19/108 [====>.........................] - ETA: 56s - loss: 1.0523 - accuracy: 0.6700
 20/108 [====>.........................] - ETA: 56s - loss: 1.0517 - accuracy: 0.6702
 21/108 [====>.........................] - ETA: 55s - loss: 1.0515 - accuracy: 0.6705
 22/108 [=====>........................] - ETA: 54s - loss: 1.0512 - accuracy: 0.6707
 23/108 [=====>........................] - ETA: 54s - loss: 1.0504 - accuracy: 0.6707
 24/108 [=====>........................] - ETA: 53s - loss: 1.0511 - accuracy: 0.6703
 25/108 [=====>........................] - ETA: 52s - loss: 1.0508 - accuracy: 0.6704
 26/108 [======>.......................] - ETA: 52s - loss: 1.0509 - accuracy: 0.6703
 27/108 [======>.......................] - ETA: 51s - loss: 1.0510 - accuracy: 0.6703
 28/108 [======>.......................] - ETA: 50s - loss: 1.0504 - accuracy: 0.6704
 29/108 [=======>......................] - ETA: 50s - loss: 1.0515 - accuracy: 0.6701
 30/108 [=======>......................] - ETA: 49s - loss: 1.0521 - accuracy: 0.6698
 31/108 [=======>......................] - ETA: 48s - loss: 1.0526 - accuracy: 0.6697
 32/108 [=======>......................] - ETA: 48s - loss: 1.0527 - accuracy: 0.6698
 33/108 [========>.....................] - ETA: 47s - loss: 1.0530 - accuracy: 0.6698
 34/108 [========>.....................] - ETA: 46s - loss: 1.0534 - accuracy: 0.6696
 35/108 [========>.....................] - ETA: 46s - loss: 1.0533 - accuracy: 0.6698
 36/108 [=========>....................] - ETA: 45s - loss: 1.0533 - accuracy: 0.6697
 37/108 [=========>....................] - ETA: 45s - loss: 1.0532 - accuracy: 0.6697
 38/108 [=========>....................] - ETA: 44s - loss: 1.0521 - accuracy: 0.6698
 39/108 [=========>....................] - ETA: 43s - loss: 1.0522 - accuracy: 0.6698
 40/108 [==========>...................] - ETA: 43s - loss: 1.0509 - accuracy: 0.6700
 41/108 [==========>...................] - ETA: 42s - loss: 1.0510 - accuracy: 0.6699
 42/108 [==========>...................] - ETA: 42s - loss: 1.0502 - accuracy: 0.6700
 43/108 [==========>...................] - ETA: 41s - loss: 1.0499 - accuracy: 0.6700
 44/108 [===========>..................] - ETA: 40s - loss: 1.0494 - accuracy: 0.6702
 45/108 [===========>..................] - ETA: 40s - loss: 1.0495 - accuracy: 0.6701
 46/108 [===========>..................] - ETA: 39s - loss: 1.0487 - accuracy: 0.6703
 47/108 [============>.................] - ETA: 38s - loss: 1.0487 - accuracy: 0.6702
 48/108 [============>.................] - ETA: 38s - loss: 1.0484 - accuracy: 0.6703
 49/108 [============>.................] - ETA: 37s - loss: 1.0479 - accuracy: 0.6703
 50/108 [============>.................] - ETA: 36s - loss: 1.0466 - accuracy: 0.6706
 51/108 [=============>................] - ETA: 36s - loss: 1.0464 - accuracy: 0.6708
 52/108 [=============>................] - ETA: 35s - loss: 1.0465 - accuracy: 0.6708
 53/108 [=============>................] - ETA: 34s - loss: 1.0458 - accuracy: 0.6709
 54/108 [==============>...............] - ETA: 34s - loss: 1.0451 - accuracy: 0.6710
 55/108 [==============>...............] - ETA: 33s - loss: 1.0451 - accuracy: 0.6710
 56/108 [==============>...............] - ETA: 32s - loss: 1.0451 - accuracy: 0.6711
 57/108 [==============>...............] - ETA: 32s - loss: 1.0448 - accuracy: 0.6711
 58/108 [===============>..............] - ETA: 31s - loss: 1.0447 - accuracy: 0.6711
 59/108 [===============>..............] - ETA: 31s - loss: 1.0449 - accuracy: 0.6710
 60/108 [===============>..............] - ETA: 30s - loss: 1.0447 - accuracy: 0.6710
 61/108 [===============>..............] - ETA: 29s - loss: 1.0445 - accuracy: 0.6710
 62/108 [================>.............] - ETA: 29s - loss: 1.0441 - accuracy: 0.6712
 63/108 [================>.............] - ETA: 28s - loss: 1.0434 - accuracy: 0.6713
 64/108 [================>.............] - ETA: 28s - loss: 1.0432 - accuracy: 0.6714
 65/108 [=================>............] - ETA: 27s - loss: 1.0428 - accuracy: 0.6716
 66/108 [=================>............] - ETA: 26s - loss: 1.0424 - accuracy: 0.6717
 67/108 [=================>............] - ETA: 26s - loss: 1.0419 - accuracy: 0.6718
 68/108 [=================>............] - ETA: 25s - loss: 1.0417 - accuracy: 0.6718
 69/108 [==================>...........] - ETA: 25s - loss: 1.0416 - accuracy: 0.6719
 70/108 [==================>...........] - ETA: 24s - loss: 1.0411 - accuracy: 0.6720
 71/108 [==================>...........] - ETA: 23s - loss: 1.0408 - accuracy: 0.6722
 72/108 [===================>..........] - ETA: 23s - loss: 1.0407 - accuracy: 0.6721
 73/108 [===================>..........] - ETA: 22s - loss: 1.0403 - accuracy: 0.6722
 74/108 [===================>..........] - ETA: 21s - loss: 1.0396 - accuracy: 0.6723
 75/108 [===================>..........] - ETA: 21s - loss: 1.0391 - accuracy: 0.6724
 76/108 [====================>.........] - ETA: 20s - loss: 1.0387 - accuracy: 0.6725
 77/108 [====================>.........] - ETA: 20s - loss: 1.0384 - accuracy: 0.6726
 78/108 [====================>.........] - ETA: 19s - loss: 1.0382 - accuracy: 0.6726
 79/108 [====================>.........] - ETA: 18s - loss: 1.0379 - accuracy: 0.6726
 80/108 [=====================>........] - ETA: 18s - loss: 1.0379 - accuracy: 0.6727
 81/108 [=====================>........] - ETA: 17s - loss: 1.0383 - accuracy: 0.6726
 82/108 [=====================>........] - ETA: 16s - loss: 1.0379 - accuracy: 0.6727
 83/108 [======================>.......] - ETA: 16s - loss: 1.0376 - accuracy: 0.6728
 84/108 [======================>.......] - ETA: 15s - loss: 1.0375 - accuracy: 0.6728
 85/108 [======================>.......] - ETA: 14s - loss: 1.0372 - accuracy: 0.6728
 86/108 [======================>.......] - ETA: 14s - loss: 1.0373 - accuracy: 0.6728
 87/108 [=======================>......] - ETA: 13s - loss: 1.0372 - accuracy: 0.6728
 88/108 [=======================>......] - ETA: 12s - loss: 1.0368 - accuracy: 0.6728
 89/108 [=======================>......] - ETA: 12s - loss: 1.0369 - accuracy: 0.6728
 90/108 [========================>.....] - ETA: 11s - loss: 1.0367 - accuracy: 0.6728
 91/108 [========================>.....] - ETA: 11s - loss: 1.0363 - accuracy: 0.6729
 92/108 [========================>.....] - ETA: 10s - loss: 1.0361 - accuracy: 0.6730
 93/108 [========================>.....] - ETA: 9s - loss: 1.0363 - accuracy: 0.6729 
 94/108 [=========================>....] - ETA: 9s - loss: 1.0360 - accuracy: 0.6729
 95/108 [=========================>....] - ETA: 8s - loss: 1.0357 - accuracy: 0.6729
 96/108 [=========================>....] - ETA: 7s - loss: 1.0351 - accuracy: 0.6730
 97/108 [=========================>....] - ETA: 7s - loss: 1.0350 - accuracy: 0.6730
 98/108 [==========================>...] - ETA: 6s - loss: 1.0348 - accuracy: 0.6731
 99/108 [==========================>...] - ETA: 5s - loss: 1.0345 - accuracy: 0.6731
100/108 [==========================>...] - ETA: 5s - loss: 1.0345 - accuracy: 0.6731
101/108 [===========================>..] - ETA: 4s - loss: 1.0345 - accuracy: 0.6731
102/108 [===========================>..] - ETA: 3s - loss: 1.0346 - accuracy: 0.6731
103/108 [===========================>..] - ETA: 3s - loss: 1.0343 - accuracy: 0.6732
104/108 [===========================>..] - ETA: 2s - loss: 1.0339 - accuracy: 0.6733
105/108 [============================>.] - ETA: 1s - loss: 1.0338 - accuracy: 0.6733
106/108 [============================>.] - ETA: 1s - loss: 1.0336 - accuracy: 0.6733
107/108 [============================>.] - ETA: 0s - loss: 1.0334 - accuracy: 0.6734
108/108 [==============================] - 70s 652ms/step - loss: 1.0330 - accuracy: 0.6735

108/108 [==============================] - 76s 705ms/step - loss: 1.0330 - accuracy: 0.6735 - val_loss: 0.9510 - val_accuracy: 0.6945
Epoch 7/10

  1/108 [..............................] - ETA: 1:07 - loss: 1.0201 - accuracy: 0.6721
  2/108 [..............................] - ETA: 1:05 - loss: 1.0160 - accuracy: 0.6737
  3/108 [..............................] - ETA: 1:05 - loss: 1.0164 - accuracy: 0.6754
  4/108 [>.............................] - ETA: 1:03 - loss: 1.0237 - accuracy: 0.6723
  5/108 [>.............................] - ETA: 1:02 - loss: 1.0221 - accuracy: 0.6732
  6/108 [>.............................] - ETA: 1:01 - loss: 1.0227 - accuracy: 0.6729
  7/108 [>.............................] - ETA: 1:01 - loss: 1.0208 - accuracy: 0.6736
  8/108 [=>............................] - ETA: 1:00 - loss: 1.0206 - accuracy: 0.6739
  9/108 [=>............................] - ETA: 59s - loss: 1.0238 - accuracy: 0.6728 
 10/108 [=>............................] - ETA: 59s - loss: 1.0222 - accuracy: 0.6732
 11/108 [==>...........................] - ETA: 58s - loss: 1.0200 - accuracy: 0.6740
 12/108 [==>...........................] - ETA: 58s - loss: 1.0211 - accuracy: 0.6738
 13/108 [==>...........................] - ETA: 58s - loss: 1.0187 - accuracy: 0.6746
 14/108 [==>...........................] - ETA: 57s - loss: 1.0198 - accuracy: 0.6745
 15/108 [===>..........................] - ETA: 56s - loss: 1.0190 - accuracy: 0.6748
 16/108 [===>..........................] - ETA: 56s - loss: 1.0173 - accuracy: 0.6752
 17/108 [===>..........................] - ETA: 56s - loss: 1.0185 - accuracy: 0.6748
 18/108 [====>.........................] - ETA: 55s - loss: 1.0164 - accuracy: 0.6753
 19/108 [====>.........................] - ETA: 54s - loss: 1.0149 - accuracy: 0.6758
 20/108 [====>.........................] - ETA: 54s - loss: 1.0148 - accuracy: 0.6759
 21/108 [====>.........................] - ETA: 53s - loss: 1.0142 - accuracy: 0.6760
 22/108 [=====>........................] - ETA: 53s - loss: 1.0153 - accuracy: 0.6757
 23/108 [=====>........................] - ETA: 53s - loss: 1.0141 - accuracy: 0.6761
 24/108 [=====>........................] - ETA: 52s - loss: 1.0145 - accuracy: 0.6758
 25/108 [=====>........................] - ETA: 52s - loss: 1.0145 - accuracy: 0.6756
 26/108 [======>.......................] - ETA: 51s - loss: 1.0143 - accuracy: 0.6754
 27/108 [======>.......................] - ETA: 50s - loss: 1.0138 - accuracy: 0.6754
 28/108 [======>.......................] - ETA: 50s - loss: 1.0133 - accuracy: 0.6755
 29/108 [=======>......................] - ETA: 49s - loss: 1.0130 - accuracy: 0.6756
 30/108 [=======>......................] - ETA: 48s - loss: 1.0131 - accuracy: 0.6755
 31/108 [=======>......................] - ETA: 48s - loss: 1.0130 - accuracy: 0.6756
 32/108 [=======>......................] - ETA: 47s - loss: 1.0120 - accuracy: 0.6757
 33/108 [========>.....................] - ETA: 47s - loss: 1.0126 - accuracy: 0.6755
 34/108 [========>.....................] - ETA: 46s - loss: 1.0136 - accuracy: 0.6752
 35/108 [========>.....................] - ETA: 45s - loss: 1.0145 - accuracy: 0.6750
 36/108 [=========>....................] - ETA: 45s - loss: 1.0144 - accuracy: 0.6750
 37/108 [=========>....................] - ETA: 44s - loss: 1.0146 - accuracy: 0.6749
 38/108 [=========>....................] - ETA: 44s - loss: 1.0140 - accuracy: 0.6751
 39/108 [=========>....................] - ETA: 43s - loss: 1.0134 - accuracy: 0.6753
 40/108 [==========>...................] - ETA: 43s - loss: 1.0139 - accuracy: 0.6752
 41/108 [==========>...................] - ETA: 42s - loss: 1.0135 - accuracy: 0.6754
 42/108 [==========>...................] - ETA: 42s - loss: 1.0137 - accuracy: 0.6753
 43/108 [==========>...................] - ETA: 41s - loss: 1.0127 - accuracy: 0.6755
 44/108 [===========>..................] - ETA: 40s - loss: 1.0126 - accuracy: 0.6755
 45/108 [===========>..................] - ETA: 40s - loss: 1.0122 - accuracy: 0.6755
 46/108 [===========>..................] - ETA: 39s - loss: 1.0126 - accuracy: 0.6753
 47/108 [============>.................] - ETA: 38s - loss: 1.0121 - accuracy: 0.6755
 48/108 [============>.................] - ETA: 38s - loss: 1.0121 - accuracy: 0.6754
 49/108 [============>.................] - ETA: 37s - loss: 1.0116 - accuracy: 0.6756
 50/108 [============>.................] - ETA: 36s - loss: 1.0112 - accuracy: 0.6756
 51/108 [=============>................] - ETA: 36s - loss: 1.0110 - accuracy: 0.6756
 52/108 [=============>................] - ETA: 35s - loss: 1.0106 - accuracy: 0.6756
 53/108 [=============>................] - ETA: 34s - loss: 1.0096 - accuracy: 0.6759
 54/108 [==============>...............] - ETA: 34s - loss: 1.0094 - accuracy: 0.6759
 55/108 [==============>...............] - ETA: 33s - loss: 1.0088 - accuracy: 0.6761
 56/108 [==============>...............] - ETA: 32s - loss: 1.0086 - accuracy: 0.6760
 57/108 [==============>...............] - ETA: 32s - loss: 1.0091 - accuracy: 0.6759
 58/108 [===============>..............] - ETA: 31s - loss: 1.0090 - accuracy: 0.6760
 59/108 [===============>..............] - ETA: 30s - loss: 1.0089 - accuracy: 0.6761
 60/108 [===============>..............] - ETA: 30s - loss: 1.0086 - accuracy: 0.6762
 61/108 [===============>..............] - ETA: 29s - loss: 1.0083 - accuracy: 0.6763
 62/108 [================>.............] - ETA: 29s - loss: 1.0078 - accuracy: 0.6764
 63/108 [================>.............] - ETA: 28s - loss: 1.0073 - accuracy: 0.6766
 64/108 [================>.............] - ETA: 27s - loss: 1.0070 - accuracy: 0.6766
 65/108 [=================>............] - ETA: 27s - loss: 1.0068 - accuracy: 0.6767
 66/108 [=================>............] - ETA: 26s - loss: 1.0067 - accuracy: 0.6767
 67/108 [=================>............] - ETA: 25s - loss: 1.0069 - accuracy: 0.6767
 68/108 [=================>............] - ETA: 25s - loss: 1.0068 - accuracy: 0.6768
 69/108 [==================>...........] - ETA: 24s - loss: 1.0063 - accuracy: 0.6768
 70/108 [==================>...........] - ETA: 23s - loss: 1.0057 - accuracy: 0.6770
 71/108 [==================>...........] - ETA: 23s - loss: 1.0057 - accuracy: 0.6770
 72/108 [===================>..........] - ETA: 22s - loss: 1.0050 - accuracy: 0.6772
 73/108 [===================>..........] - ETA: 22s - loss: 1.0050 - accuracy: 0.6771
 74/108 [===================>..........] - ETA: 21s - loss: 1.0050 - accuracy: 0.6771
 75/108 [===================>..........] - ETA: 20s - loss: 1.0050 - accuracy: 0.6771
 76/108 [====================>.........] - ETA: 20s - loss: 1.0053 - accuracy: 0.6770
 77/108 [====================>.........] - ETA: 19s - loss: 1.0054 - accuracy: 0.6770
 78/108 [====================>.........] - ETA: 18s - loss: 1.0053 - accuracy: 0.6770
 79/108 [====================>.........] - ETA: 18s - loss: 1.0052 - accuracy: 0.6770
 80/108 [=====================>........] - ETA: 17s - loss: 1.0053 - accuracy: 0.6769
 81/108 [=====================>........] - ETA: 16s - loss: 1.0055 - accuracy: 0.6768
 82/108 [=====================>........] - ETA: 16s - loss: 1.0056 - accuracy: 0.6768
 83/108 [======================>.......] - ETA: 15s - loss: 1.0055 - accuracy: 0.6768
 84/108 [======================>.......] - ETA: 15s - loss: 1.0055 - accuracy: 0.6767
 85/108 [======================>.......] - ETA: 14s - loss: 1.0054 - accuracy: 0.6768
 86/108 [======================>.......] - ETA: 13s - loss: 1.0054 - accuracy: 0.6768
 87/108 [=======================>......] - ETA: 13s - loss: 1.0054 - accuracy: 0.6768
 88/108 [=======================>......] - ETA: 12s - loss: 1.0054 - accuracy: 0.6769
 89/108 [=======================>......] - ETA: 11s - loss: 1.0055 - accuracy: 0.6769
 90/108 [========================>.....] - ETA: 11s - loss: 1.0052 - accuracy: 0.6769
 91/108 [========================>.....] - ETA: 10s - loss: 1.0049 - accuracy: 0.6770
 92/108 [========================>.....] - ETA: 10s - loss: 1.0046 - accuracy: 0.6771
 93/108 [========================>.....] - ETA: 9s - loss: 1.0043 - accuracy: 0.6772 
 94/108 [=========================>....] - ETA: 8s - loss: 1.0040 - accuracy: 0.6773
 95/108 [=========================>....] - ETA: 8s - loss: 1.0036 - accuracy: 0.6774
 96/108 [=========================>....] - ETA: 7s - loss: 1.0031 - accuracy: 0.6776
 97/108 [=========================>....] - ETA: 6s - loss: 1.0027 - accuracy: 0.6777
 98/108 [==========================>...] - ETA: 6s - loss: 1.0025 - accuracy: 0.6777
 99/108 [==========================>...] - ETA: 5s - loss: 1.0021 - accuracy: 0.6778
100/108 [==========================>...] - ETA: 5s - loss: 1.0018 - accuracy: 0.6779
101/108 [===========================>..] - ETA: 4s - loss: 1.0017 - accuracy: 0.6780
102/108 [===========================>..] - ETA: 3s - loss: 1.0014 - accuracy: 0.6780
103/108 [===========================>..] - ETA: 3s - loss: 1.0009 - accuracy: 0.6781
104/108 [===========================>..] - ETA: 2s - loss: 1.0007 - accuracy: 0.6782
105/108 [============================>.] - ETA: 1s - loss: 1.0007 - accuracy: 0.6781
106/108 [============================>.] - ETA: 1s - loss: 1.0003 - accuracy: 0.6782
107/108 [============================>.] - ETA: 0s - loss: 1.0000 - accuracy: 0.6782
108/108 [==============================] - 68s 629ms/step - loss: 1.0001 - accuracy: 0.6782

108/108 [==============================] - 74s 682ms/step - loss: 1.0001 - accuracy: 0.6782 - val_loss: 0.9234 - val_accuracy: 0.7003
Epoch 8/10

  1/108 [..............................] - ETA: 1:05 - loss: 0.9829 - accuracy: 0.6796
  2/108 [..............................] - ETA: 1:04 - loss: 0.9806 - accuracy: 0.6812
  3/108 [..............................] - ETA: 1:03 - loss: 0.9889 - accuracy: 0.6768
  4/108 [>.............................] - ETA: 1:02 - loss: 0.9888 - accuracy: 0.6774
  5/108 [>.............................] - ETA: 1:01 - loss: 0.9906 - accuracy: 0.6776
  6/108 [>.............................] - ETA: 1:01 - loss: 0.9906 - accuracy: 0.6773
  7/108 [>.............................] - ETA: 1:01 - loss: 0.9871 - accuracy: 0.6782
  8/108 [=>............................] - ETA: 1:01 - loss: 0.9862 - accuracy: 0.6785
  9/108 [=>............................] - ETA: 1:00 - loss: 0.9881 - accuracy: 0.6774
 10/108 [=>............................] - ETA: 59s - loss: 0.9858 - accuracy: 0.6778 
 11/108 [==>...........................] - ETA: 59s - loss: 0.9826 - accuracy: 0.6785
 12/108 [==>...........................] - ETA: 58s - loss: 0.9818 - accuracy: 0.6793
 13/108 [==>...........................] - ETA: 58s - loss: 0.9802 - accuracy: 0.6797
 14/108 [==>...........................] - ETA: 57s - loss: 0.9793 - accuracy: 0.6801
 15/108 [===>..........................] - ETA: 57s - loss: 0.9780 - accuracy: 0.6810
 16/108 [===>..........................] - ETA: 56s - loss: 0.9787 - accuracy: 0.6810
 17/108 [===>..........................] - ETA: 55s - loss: 0.9772 - accuracy: 0.6816
 18/108 [====>.........................] - ETA: 55s - loss: 0.9775 - accuracy: 0.6813
 19/108 [====>.........................] - ETA: 55s - loss: 0.9796 - accuracy: 0.6808
 20/108 [====>.........................] - ETA: 54s - loss: 0.9799 - accuracy: 0.6809
 21/108 [====>.........................] - ETA: 53s - loss: 0.9795 - accuracy: 0.6810
 22/108 [=====>........................] - ETA: 53s - loss: 0.9789 - accuracy: 0.6811
 23/108 [=====>........................] - ETA: 52s - loss: 0.9788 - accuracy: 0.6811
 24/108 [=====>........................] - ETA: 52s - loss: 0.9792 - accuracy: 0.6810
 25/108 [=====>........................] - ETA: 51s - loss: 0.9796 - accuracy: 0.6809
 26/108 [======>.......................] - ETA: 50s - loss: 0.9792 - accuracy: 0.6810
 27/108 [======>.......................] - ETA: 50s - loss: 0.9789 - accuracy: 0.6811
 28/108 [======>.......................] - ETA: 49s - loss: 0.9794 - accuracy: 0.6810
 29/108 [=======>......................] - ETA: 49s - loss: 0.9806 - accuracy: 0.6808
 30/108 [=======>......................] - ETA: 48s - loss: 0.9810 - accuracy: 0.6804
 31/108 [=======>......................] - ETA: 48s - loss: 0.9808 - accuracy: 0.6804
 32/108 [=======>......................] - ETA: 47s - loss: 0.9820 - accuracy: 0.6800
 33/108 [========>.....................] - ETA: 46s - loss: 0.9828 - accuracy: 0.6797
 34/108 [========>.....................] - ETA: 46s - loss: 0.9821 - accuracy: 0.6798
 35/108 [========>.....................] - ETA: 45s - loss: 0.9822 - accuracy: 0.6797
 36/108 [=========>....................] - ETA: 44s - loss: 0.9829 - accuracy: 0.6795
 37/108 [=========>....................] - ETA: 44s - loss: 0.9832 - accuracy: 0.6793
 38/108 [=========>....................] - ETA: 43s - loss: 0.9831 - accuracy: 0.6794
 39/108 [=========>....................] - ETA: 43s - loss: 0.9830 - accuracy: 0.6794
 40/108 [==========>...................] - ETA: 42s - loss: 0.9829 - accuracy: 0.6793
 41/108 [==========>...................] - ETA: 41s - loss: 0.9828 - accuracy: 0.6793
 42/108 [==========>...................] - ETA: 41s - loss: 0.9820 - accuracy: 0.6794
 43/108 [==========>...................] - ETA: 40s - loss: 0.9822 - accuracy: 0.6795
 44/108 [===========>..................] - ETA: 39s - loss: 0.9815 - accuracy: 0.6796
 45/108 [===========>..................] - ETA: 39s - loss: 0.9815 - accuracy: 0.6796
 46/108 [===========>..................] - ETA: 38s - loss: 0.9811 - accuracy: 0.6798
 47/108 [============>.................] - ETA: 37s - loss: 0.9814 - accuracy: 0.6797
 48/108 [============>.................] - ETA: 37s - loss: 0.9814 - accuracy: 0.6799
 49/108 [============>.................] - ETA: 36s - loss: 0.9811 - accuracy: 0.6799
 50/108 [============>.................] - ETA: 35s - loss: 0.9812 - accuracy: 0.6799
 51/108 [=============>................] - ETA: 35s - loss: 0.9809 - accuracy: 0.6800
 52/108 [=============>................] - ETA: 34s - loss: 0.9806 - accuracy: 0.6801
 53/108 [=============>................] - ETA: 34s - loss: 0.9799 - accuracy: 0.6802
 54/108 [==============>...............] - ETA: 33s - loss: 0.9794 - accuracy: 0.6803
 55/108 [==============>...............] - ETA: 32s - loss: 0.9794 - accuracy: 0.6804
 56/108 [==============>...............] - ETA: 32s - loss: 0.9794 - accuracy: 0.6803
 57/108 [==============>...............] - ETA: 31s - loss: 0.9798 - accuracy: 0.6801
 58/108 [===============>..............] - ETA: 31s - loss: 0.9796 - accuracy: 0.6802
 59/108 [===============>..............] - ETA: 30s - loss: 0.9796 - accuracy: 0.6802
 60/108 [===============>..............] - ETA: 29s - loss: 0.9794 - accuracy: 0.6803
 61/108 [===============>..............] - ETA: 29s - loss: 0.9788 - accuracy: 0.6806
 62/108 [================>.............] - ETA: 28s - loss: 0.9783 - accuracy: 0.6807
 63/108 [================>.............] - ETA: 28s - loss: 0.9776 - accuracy: 0.6809
 64/108 [================>.............] - ETA: 27s - loss: 0.9774 - accuracy: 0.6809
 65/108 [=================>............] - ETA: 27s - loss: 0.9774 - accuracy: 0.6809
 66/108 [=================>............] - ETA: 26s - loss: 0.9772 - accuracy: 0.6810
 67/108 [=================>............] - ETA: 25s - loss: 0.9770 - accuracy: 0.6810
 68/108 [=================>............] - ETA: 25s - loss: 0.9768 - accuracy: 0.6811
 69/108 [==================>...........] - ETA: 24s - loss: 0.9766 - accuracy: 0.6812
 70/108 [==================>...........] - ETA: 23s - loss: 0.9762 - accuracy: 0.6813
 71/108 [==================>...........] - ETA: 23s - loss: 0.9765 - accuracy: 0.6812
 72/108 [===================>..........] - ETA: 22s - loss: 0.9766 - accuracy: 0.6812
 73/108 [===================>..........] - ETA: 22s - loss: 0.9769 - accuracy: 0.6811
 74/108 [===================>..........] - ETA: 21s - loss: 0.9771 - accuracy: 0.6811
 75/108 [===================>..........] - ETA: 20s - loss: 0.9767 - accuracy: 0.6812
 76/108 [====================>.........] - ETA: 20s - loss: 0.9769 - accuracy: 0.6812
 77/108 [====================>.........] - ETA: 19s - loss: 0.9769 - accuracy: 0.6811
 78/108 [====================>.........] - ETA: 18s - loss: 0.9766 - accuracy: 0.6812
 79/108 [====================>.........] - ETA: 18s - loss: 0.9762 - accuracy: 0.6812
 80/108 [=====================>........] - ETA: 17s - loss: 0.9758 - accuracy: 0.6813
 81/108 [=====================>........] - ETA: 17s - loss: 0.9758 - accuracy: 0.6813
 82/108 [=====================>........] - ETA: 16s - loss: 0.9752 - accuracy: 0.6814
 83/108 [======================>.......] - ETA: 15s - loss: 0.9750 - accuracy: 0.6815
 84/108 [======================>.......] - ETA: 15s - loss: 0.9747 - accuracy: 0.6815
 85/108 [======================>.......] - ETA: 14s - loss: 0.9748 - accuracy: 0.6815
 86/108 [======================>.......] - ETA: 13s - loss: 0.9746 - accuracy: 0.6816
 87/108 [=======================>......] - ETA: 13s - loss: 0.9746 - accuracy: 0.6816
 88/108 [=======================>......] - ETA: 12s - loss: 0.9748 - accuracy: 0.6816
 89/108 [=======================>......] - ETA: 12s - loss: 0.9749 - accuracy: 0.6816
 90/108 [========================>.....] - ETA: 11s - loss: 0.9749 - accuracy: 0.6816
 91/108 [========================>.....] - ETA: 10s - loss: 0.9747 - accuracy: 0.6816
 92/108 [========================>.....] - ETA: 10s - loss: 0.9745 - accuracy: 0.6817
 93/108 [========================>.....] - ETA: 9s - loss: 0.9745 - accuracy: 0.6816 
 94/108 [=========================>....] - ETA: 8s - loss: 0.9750 - accuracy: 0.6815
 95/108 [=========================>....] - ETA: 8s - loss: 0.9750 - accuracy: 0.6815
 96/108 [=========================>....] - ETA: 7s - loss: 0.9750 - accuracy: 0.6815
 97/108 [=========================>....] - ETA: 6s - loss: 0.9750 - accuracy: 0.6815
 98/108 [==========================>...] - ETA: 6s - loss: 0.9747 - accuracy: 0.6816
 99/108 [==========================>...] - ETA: 5s - loss: 0.9747 - accuracy: 0.6816
100/108 [==========================>...] - ETA: 5s - loss: 0.9747 - accuracy: 0.6816
101/108 [===========================>..] - ETA: 4s - loss: 0.9746 - accuracy: 0.6816
102/108 [===========================>..] - ETA: 3s - loss: 0.9743 - accuracy: 0.6817
103/108 [===========================>..] - ETA: 3s - loss: 0.9739 - accuracy: 0.6818
104/108 [===========================>..] - ETA: 2s - loss: 0.9741 - accuracy: 0.6817
105/108 [============================>.] - ETA: 1s - loss: 0.9739 - accuracy: 0.6818
106/108 [============================>.] - ETA: 1s - loss: 0.9736 - accuracy: 0.6819
107/108 [============================>.] - ETA: 0s - loss: 0.9736 - accuracy: 0.6820
108/108 [==============================] - 69s 635ms/step - loss: 0.9735 - accuracy: 0.6820

108/108 [==============================] - 74s 688ms/step - loss: 0.9735 - accuracy: 0.6820 - val_loss: 0.9021 - val_accuracy: 0.7001
Epoch 9/10

  1/108 [..............................] - ETA: 1:13 - loss: 0.9645 - accuracy: 0.6888
  2/108 [..............................] - ETA: 1:13 - loss: 0.9605 - accuracy: 0.6856
  3/108 [..............................] - ETA: 1:12 - loss: 0.9663 - accuracy: 0.6845
  4/108 [>.............................] - ETA: 1:10 - loss: 0.9665 - accuracy: 0.6852
  5/108 [>.............................] - ETA: 1:09 - loss: 0.9661 - accuracy: 0.6852
  6/108 [>.............................] - ETA: 1:07 - loss: 0.9627 - accuracy: 0.6856
  7/108 [>.............................] - ETA: 1:06 - loss: 0.9635 - accuracy: 0.6854
  8/108 [=>............................] - ETA: 1:05 - loss: 0.9606 - accuracy: 0.6859
  9/108 [=>............................] - ETA: 1:04 - loss: 0.9573 - accuracy: 0.6870
 10/108 [=>............................] - ETA: 1:04 - loss: 0.9530 - accuracy: 0.6877
 11/108 [==>...........................] - ETA: 1:03 - loss: 0.9543 - accuracy: 0.6876
 12/108 [==>...........................] - ETA: 1:02 - loss: 0.9553 - accuracy: 0.6877
 13/108 [==>...........................] - ETA: 1:01 - loss: 0.9532 - accuracy: 0.6878
 14/108 [==>...........................] - ETA: 1:01 - loss: 0.9542 - accuracy: 0.6878
 15/108 [===>..........................] - ETA: 1:00 - loss: 0.9541 - accuracy: 0.6880
 16/108 [===>..........................] - ETA: 59s - loss: 0.9546 - accuracy: 0.6876 
 17/108 [===>..........................] - ETA: 59s - loss: 0.9547 - accuracy: 0.6878
 18/108 [====>.........................] - ETA: 58s - loss: 0.9533 - accuracy: 0.6881
 19/108 [====>.........................] - ETA: 57s - loss: 0.9527 - accuracy: 0.6883
 20/108 [====>.........................] - ETA: 56s - loss: 0.9511 - accuracy: 0.6887
 21/108 [====>.........................] - ETA: 55s - loss: 0.9515 - accuracy: 0.6885
 22/108 [=====>........................] - ETA: 55s - loss: 0.9507 - accuracy: 0.6887
 23/108 [=====>........................] - ETA: 54s - loss: 0.9507 - accuracy: 0.6889
 24/108 [=====>........................] - ETA: 53s - loss: 0.9511 - accuracy: 0.6887
 25/108 [=====>........................] - ETA: 52s - loss: 0.9504 - accuracy: 0.6888
 26/108 [======>.......................] - ETA: 52s - loss: 0.9502 - accuracy: 0.6890
 27/108 [======>.......................] - ETA: 51s - loss: 0.9501 - accuracy: 0.6890
 28/108 [======>.......................] - ETA: 50s - loss: 0.9487 - accuracy: 0.6892
 29/108 [=======>......................] - ETA: 50s - loss: 0.9479 - accuracy: 0.6893
 30/108 [=======>......................] - ETA: 49s - loss: 0.9465 - accuracy: 0.6897
 31/108 [=======>......................] - ETA: 48s - loss: 0.9462 - accuracy: 0.6898
 32/108 [=======>......................] - ETA: 48s - loss: 0.9460 - accuracy: 0.6899
 33/108 [========>.....................] - ETA: 47s - loss: 0.9458 - accuracy: 0.6902
 34/108 [========>.....................] - ETA: 46s - loss: 0.9456 - accuracy: 0.6901
 35/108 [========>.....................] - ETA: 46s - loss: 0.9461 - accuracy: 0.6902
 36/108 [=========>....................] - ETA: 45s - loss: 0.9462 - accuracy: 0.6903
 37/108 [=========>....................] - ETA: 44s - loss: 0.9463 - accuracy: 0.6902
 38/108 [=========>....................] - ETA: 44s - loss: 0.9459 - accuracy: 0.6903
 39/108 [=========>....................] - ETA: 43s - loss: 0.9461 - accuracy: 0.6902
 40/108 [==========>...................] - ETA: 43s - loss: 0.9467 - accuracy: 0.6900
 41/108 [==========>...................] - ETA: 42s - loss: 0.9466 - accuracy: 0.6900
 42/108 [==========>...................] - ETA: 41s - loss: 0.9460 - accuracy: 0.6901
 43/108 [==========>...................] - ETA: 41s - loss: 0.9468 - accuracy: 0.6899
 44/108 [===========>..................] - ETA: 40s - loss: 0.9478 - accuracy: 0.6895
 45/108 [===========>..................] - ETA: 40s - loss: 0.9477 - accuracy: 0.6894
 46/108 [===========>..................] - ETA: 39s - loss: 0.9472 - accuracy: 0.6895
 47/108 [============>.................] - ETA: 38s - loss: 0.9470 - accuracy: 0.6895
 48/108 [============>.................] - ETA: 38s - loss: 0.9464 - accuracy: 0.6896
 49/108 [============>.................] - ETA: 37s - loss: 0.9462 - accuracy: 0.6896
 50/108 [============>.................] - ETA: 36s - loss: 0.9461 - accuracy: 0.6895
 51/108 [=============>................] - ETA: 36s - loss: 0.9454 - accuracy: 0.6897
 52/108 [=============>................] - ETA: 35s - loss: 0.9454 - accuracy: 0.6897
 53/108 [=============>................] - ETA: 35s - loss: 0.9454 - accuracy: 0.6898
 54/108 [==============>...............] - ETA: 34s - loss: 0.9451 - accuracy: 0.6898
 55/108 [==============>...............] - ETA: 33s - loss: 0.9455 - accuracy: 0.6898
 56/108 [==============>...............] - ETA: 33s - loss: 0.9451 - accuracy: 0.6899
 57/108 [==============>...............] - ETA: 32s - loss: 0.9451 - accuracy: 0.6899
 58/108 [===============>..............] - ETA: 31s - loss: 0.9448 - accuracy: 0.6900
 59/108 [===============>..............] - ETA: 31s - loss: 0.9448 - accuracy: 0.6901
 60/108 [===============>..............] - ETA: 30s - loss: 0.9451 - accuracy: 0.6901
 61/108 [===============>..............] - ETA: 30s - loss: 0.9449 - accuracy: 0.6902
 62/108 [================>.............] - ETA: 29s - loss: 0.9449 - accuracy: 0.6902
 63/108 [================>.............] - ETA: 28s - loss: 0.9447 - accuracy: 0.6903
 64/108 [================>.............] - ETA: 28s - loss: 0.9448 - accuracy: 0.6902
 65/108 [=================>............] - ETA: 27s - loss: 0.9448 - accuracy: 0.6902
 66/108 [=================>............] - ETA: 27s - loss: 0.9450 - accuracy: 0.6901
 67/108 [=================>............] - ETA: 26s - loss: 0.9450 - accuracy: 0.6902
 68/108 [=================>............] - ETA: 25s - loss: 0.9446 - accuracy: 0.6902
 69/108 [==================>...........] - ETA: 25s - loss: 0.9446 - accuracy: 0.6902
 70/108 [==================>...........] - ETA: 24s - loss: 0.9446 - accuracy: 0.6901
 71/108 [==================>...........] - ETA: 24s - loss: 0.9447 - accuracy: 0.6901
 72/108 [===================>..........] - ETA: 23s - loss: 0.9449 - accuracy: 0.6900
 73/108 [===================>..........] - ETA: 22s - loss: 0.9453 - accuracy: 0.6898
 74/108 [===================>..........] - ETA: 22s - loss: 0.9461 - accuracy: 0.6897
 75/108 [===================>..........] - ETA: 21s - loss: 0.9459 - accuracy: 0.6896
 76/108 [====================>.........] - ETA: 20s - loss: 0.9461 - accuracy: 0.6896
 77/108 [====================>.........] - ETA: 20s - loss: 0.9459 - accuracy: 0.6896
 78/108 [====================>.........] - ETA: 19s - loss: 0.9458 - accuracy: 0.6896
 79/108 [====================>.........] - ETA: 18s - loss: 0.9454 - accuracy: 0.6897
 80/108 [=====================>........] - ETA: 18s - loss: 0.9452 - accuracy: 0.6897
 81/108 [=====================>........] - ETA: 17s - loss: 0.9450 - accuracy: 0.6897
 82/108 [=====================>........] - ETA: 16s - loss: 0.9448 - accuracy: 0.6898
 83/108 [======================>.......] - ETA: 16s - loss: 0.9448 - accuracy: 0.6898
 84/108 [======================>.......] - ETA: 15s - loss: 0.9448 - accuracy: 0.6897
 85/108 [======================>.......] - ETA: 15s - loss: 0.9445 - accuracy: 0.6898
 86/108 [======================>.......] - ETA: 14s - loss: 0.9443 - accuracy: 0.6898
 87/108 [=======================>......] - ETA: 13s - loss: 0.9442 - accuracy: 0.6898
 88/108 [=======================>......] - ETA: 13s - loss: 0.9442 - accuracy: 0.6898
 89/108 [=======================>......] - ETA: 12s - loss: 0.9439 - accuracy: 0.6897
 90/108 [========================>.....] - ETA: 11s - loss: 0.9441 - accuracy: 0.6896
 91/108 [========================>.....] - ETA: 11s - loss: 0.9443 - accuracy: 0.6896
 92/108 [========================>.....] - ETA: 10s - loss: 0.9442 - accuracy: 0.6896
 93/108 [========================>.....] - ETA: 9s - loss: 0.9437 - accuracy: 0.6897 
 94/108 [=========================>....] - ETA: 9s - loss: 0.9435 - accuracy: 0.6897
 95/108 [=========================>....] - ETA: 8s - loss: 0.9436 - accuracy: 0.6897
 96/108 [=========================>....] - ETA: 7s - loss: 0.9434 - accuracy: 0.6897
 97/108 [=========================>....] - ETA: 7s - loss: 0.9430 - accuracy: 0.6899
 98/108 [==========================>...] - ETA: 6s - loss: 0.9430 - accuracy: 0.6899
 99/108 [==========================>...] - ETA: 5s - loss: 0.9432 - accuracy: 0.6898
100/108 [==========================>...] - ETA: 5s - loss: 0.9432 - accuracy: 0.6898
101/108 [===========================>..] - ETA: 4s - loss: 0.9434 - accuracy: 0.6898
102/108 [===========================>..] - ETA: 3s - loss: 0.9438 - accuracy: 0.6897
103/108 [===========================>..] - ETA: 3s - loss: 0.9442 - accuracy: 0.6895
104/108 [===========================>..] - ETA: 2s - loss: 0.9441 - accuracy: 0.6895
105/108 [============================>.] - ETA: 1s - loss: 0.9440 - accuracy: 0.6895
106/108 [============================>.] - ETA: 1s - loss: 0.9440 - accuracy: 0.6894
107/108 [============================>.] - ETA: 0s - loss: 0.9437 - accuracy: 0.6894
108/108 [==============================] - 70s 644ms/step - loss: 0.9436 - accuracy: 0.6894

108/108 [==============================] - 75s 695ms/step - loss: 0.9436 - accuracy: 0.6894 - val_loss: 0.8517 - val_accuracy: 0.7095
Epoch 10/10

  1/108 [..............................] - ETA: 1:05 - loss: 0.9210 - accuracy: 0.6902
  2/108 [..............................] - ETA: 1:05 - loss: 0.9301 - accuracy: 0.6895
  3/108 [..............................] - ETA: 1:05 - loss: 0.9306 - accuracy: 0.6889
  4/108 [>.............................] - ETA: 1:04 - loss: 0.9252 - accuracy: 0.6913
  5/108 [>.............................] - ETA: 1:04 - loss: 0.9254 - accuracy: 0.6915
  6/108 [>.............................] - ETA: 1:03 - loss: 0.9298 - accuracy: 0.6900
  7/108 [>.............................] - ETA: 1:02 - loss: 0.9256 - accuracy: 0.6919
  8/108 [=>............................] - ETA: 1:01 - loss: 0.9230 - accuracy: 0.6929
  9/108 [=>............................] - ETA: 1:01 - loss: 0.9249 - accuracy: 0.6925
 10/108 [=>............................] - ETA: 1:00 - loss: 0.9266 - accuracy: 0.6920
 11/108 [==>...........................] - ETA: 59s - loss: 0.9289 - accuracy: 0.6913 
 12/108 [==>...........................] - ETA: 59s - loss: 0.9302 - accuracy: 0.6908
 13/108 [==>...........................] - ETA: 58s - loss: 0.9334 - accuracy: 0.6903
 14/108 [==>...........................] - ETA: 57s - loss: 0.9375 - accuracy: 0.6886
 15/108 [===>..........................] - ETA: 57s - loss: 0.9375 - accuracy: 0.6884
 16/108 [===>..........................] - ETA: 56s - loss: 0.9376 - accuracy: 0.6885
 17/108 [===>..........................] - ETA: 56s - loss: 0.9386 - accuracy: 0.6879
 18/108 [====>.........................] - ETA: 55s - loss: 0.9394 - accuracy: 0.6877
 19/108 [====>.........................] - ETA: 54s - loss: 0.9380 - accuracy: 0.6881
 20/108 [====>.........................] - ETA: 54s - loss: 0.9392 - accuracy: 0.6878
 21/108 [====>.........................] - ETA: 53s - loss: 0.9397 - accuracy: 0.6877
 22/108 [=====>........................] - ETA: 52s - loss: 0.9394 - accuracy: 0.6878
 23/108 [=====>........................] - ETA: 52s - loss: 0.9417 - accuracy: 0.6874
 24/108 [=====>........................] - ETA: 51s - loss: 0.9445 - accuracy: 0.6870
 25/108 [=====>........................] - ETA: 51s - loss: 0.9447 - accuracy: 0.6869
 26/108 [======>.......................] - ETA: 50s - loss: 0.9455 - accuracy: 0.6868
 27/108 [======>.......................] - ETA: 49s - loss: 0.9468 - accuracy: 0.6865
 28/108 [======>.......................] - ETA: 49s - loss: 0.9469 - accuracy: 0.6865
 29/108 [=======>......................] - ETA: 48s - loss: 0.9466 - accuracy: 0.6866
 30/108 [=======>......................] - ETA: 47s - loss: 0.9472 - accuracy: 0.6865
 31/108 [=======>......................] - ETA: 47s - loss: 0.9467 - accuracy: 0.6866
 32/108 [=======>......................] - ETA: 46s - loss: 0.9459 - accuracy: 0.6867
 33/108 [========>.....................] - ETA: 46s - loss: 0.9463 - accuracy: 0.6867
 34/108 [========>.....................] - ETA: 45s - loss: 0.9458 - accuracy: 0.6868
 35/108 [========>.....................] - ETA: 44s - loss: 0.9449 - accuracy: 0.6870
 36/108 [=========>....................] - ETA: 44s - loss: 0.9444 - accuracy: 0.6871
 37/108 [=========>....................] - ETA: 43s - loss: 0.9440 - accuracy: 0.6873
 38/108 [=========>....................] - ETA: 43s - loss: 0.9431 - accuracy: 0.6875
 39/108 [=========>....................] - ETA: 42s - loss: 0.9432 - accuracy: 0.6874
 40/108 [==========>...................] - ETA: 41s - loss: 0.9424 - accuracy: 0.6876
 41/108 [==========>...................] - ETA: 41s - loss: 0.9413 - accuracy: 0.6880
 42/108 [==========>...................] - ETA: 40s - loss: 0.9413 - accuracy: 0.6881
 43/108 [==========>...................] - ETA: 39s - loss: 0.9412 - accuracy: 0.6882
 44/108 [===========>..................] - ETA: 39s - loss: 0.9408 - accuracy: 0.6883
 45/108 [===========>..................] - ETA: 38s - loss: 0.9407 - accuracy: 0.6883
 46/108 [===========>..................] - ETA: 38s - loss: 0.9398 - accuracy: 0.6885
 47/108 [============>.................] - ETA: 37s - loss: 0.9395 - accuracy: 0.6886
 48/108 [============>.................] - ETA: 37s - loss: 0.9394 - accuracy: 0.6886
 49/108 [============>.................] - ETA: 36s - loss: 0.9384 - accuracy: 0.6889
 50/108 [============>.................] - ETA: 35s - loss: 0.9377 - accuracy: 0.6890
 51/108 [=============>................] - ETA: 35s - loss: 0.9372 - accuracy: 0.6892
 52/108 [=============>................] - ETA: 34s - loss: 0.9366 - accuracy: 0.6894
 53/108 [=============>................] - ETA: 34s - loss: 0.9363 - accuracy: 0.6895
 54/108 [==============>...............] - ETA: 33s - loss: 0.9363 - accuracy: 0.6896
 55/108 [==============>...............] - ETA: 33s - loss: 0.9362 - accuracy: 0.6894
 56/108 [==============>...............] - ETA: 32s - loss: 0.9357 - accuracy: 0.6895
 57/108 [==============>...............] - ETA: 31s - loss: 0.9354 - accuracy: 0.6896
 58/108 [===============>..............] - ETA: 31s - loss: 0.9349 - accuracy: 0.6897
 59/108 [===============>..............] - ETA: 30s - loss: 0.9347 - accuracy: 0.6897
 60/108 [===============>..............] - ETA: 30s - loss: 0.9348 - accuracy: 0.6897
 61/108 [===============>..............] - ETA: 29s - loss: 0.9344 - accuracy: 0.6897
 62/108 [================>.............] - ETA: 28s - loss: 0.9343 - accuracy: 0.6897
 63/108 [================>.............] - ETA: 28s - loss: 0.9341 - accuracy: 0.6897
 64/108 [================>.............] - ETA: 27s - loss: 0.9337 - accuracy: 0.6898
 65/108 [=================>............] - ETA: 26s - loss: 0.9337 - accuracy: 0.6897
 66/108 [=================>............] - ETA: 26s - loss: 0.9337 - accuracy: 0.6898
 67/108 [=================>............] - ETA: 25s - loss: 0.9341 - accuracy: 0.6897
 68/108 [=================>............] - ETA: 25s - loss: 0.9336 - accuracy: 0.6897
 69/108 [==================>...........] - ETA: 24s - loss: 0.9335 - accuracy: 0.6898
 70/108 [==================>...........] - ETA: 23s - loss: 0.9339 - accuracy: 0.6897
 71/108 [==================>...........] - ETA: 23s - loss: 0.9343 - accuracy: 0.6896
 72/108 [===================>..........] - ETA: 22s - loss: 0.9342 - accuracy: 0.6897
 73/108 [===================>..........] - ETA: 21s - loss: 0.9344 - accuracy: 0.6897
 74/108 [===================>..........] - ETA: 21s - loss: 0.9348 - accuracy: 0.6896
 75/108 [===================>..........] - ETA: 20s - loss: 0.9352 - accuracy: 0.6895
 76/108 [====================>.........] - ETA: 20s - loss: 0.9348 - accuracy: 0.6896
 77/108 [====================>.........] - ETA: 19s - loss: 0.9344 - accuracy: 0.6897
 78/108 [====================>.........] - ETA: 18s - loss: 0.9340 - accuracy: 0.6899
 79/108 [====================>.........] - ETA: 18s - loss: 0.9341 - accuracy: 0.6898
 80/108 [=====================>........] - ETA: 17s - loss: 0.9339 - accuracy: 0.6899
 81/108 [=====================>........] - ETA: 16s - loss: 0.9337 - accuracy: 0.6900
 82/108 [=====================>........] - ETA: 16s - loss: 0.9333 - accuracy: 0.6902
 83/108 [======================>.......] - ETA: 15s - loss: 0.9331 - accuracy: 0.6903
 84/108 [======================>.......] - ETA: 14s - loss: 0.9330 - accuracy: 0.6903
 85/108 [======================>.......] - ETA: 14s - loss: 0.9328 - accuracy: 0.6904
 86/108 [======================>.......] - ETA: 13s - loss: 0.9324 - accuracy: 0.6905
 87/108 [=======================>......] - ETA: 13s - loss: 0.9322 - accuracy: 0.6905
 88/108 [=======================>......] - ETA: 12s - loss: 0.9322 - accuracy: 0.6906
 89/108 [=======================>......] - ETA: 11s - loss: 0.9319 - accuracy: 0.6906
 90/108 [========================>.....] - ETA: 11s - loss: 0.9318 - accuracy: 0.6907
 91/108 [========================>.....] - ETA: 10s - loss: 0.9317 - accuracy: 0.6907
 92/108 [========================>.....] - ETA: 9s - loss: 0.9319 - accuracy: 0.6907 
 93/108 [========================>.....] - ETA: 9s - loss: 0.9322 - accuracy: 0.6907
 94/108 [=========================>....] - ETA: 8s - loss: 0.9321 - accuracy: 0.6907
 95/108 [=========================>....] - ETA: 8s - loss: 0.9321 - accuracy: 0.6907
 96/108 [=========================>....] - ETA: 7s - loss: 0.9323 - accuracy: 0.6906
 97/108 [=========================>....] - ETA: 6s - loss: 0.9322 - accuracy: 0.6907
 98/108 [==========================>...] - ETA: 6s - loss: 0.9323 - accuracy: 0.6906
 99/108 [==========================>...] - ETA: 5s - loss: 0.9325 - accuracy: 0.6906
100/108 [==========================>...] - ETA: 4s - loss: 0.9324 - accuracy: 0.6906
101/108 [===========================>..] - ETA: 4s - loss: 0.9326 - accuracy: 0.6905
102/108 [===========================>..] - ETA: 3s - loss: 0.9326 - accuracy: 0.6905
103/108 [===========================>..] - ETA: 3s - loss: 0.9327 - accuracy: 0.6905
104/108 [===========================>..] - ETA: 2s - loss: 0.9328 - accuracy: 0.6905
105/108 [============================>.] - ETA: 1s - loss: 0.9324 - accuracy: 0.6905
106/108 [============================>.] - ETA: 1s - loss: 0.9326 - accuracy: 0.6905
107/108 [============================>.] - ETA: 0s - loss: 0.9322 - accuracy: 0.6906
108/108 [==============================] - 67s 620ms/step - loss: 0.9322 - accuracy: 0.6906

108/108 [==============================] - 72s 670ms/step - loss: 0.9322 - accuracy: 0.6906 - val_loss: 0.8449 - val_accuracy: 0.7082
plot(history)
`geom_smooth()` using formula 'y ~ x'

Prediction

Obtaining the output for prediction (Testing)

predict_output <- model_RNN %>% predict(matrix(tensor_x[5, ,], nrow=1))
# predict_output


predict_output <- argmax(predict_output, FALSE)
# train_x[5]
train_y[5]
[1] "votre moins aimé fruit est le raisin , mais mon moins aimé est la pomme ."
logits_to_text(predict_output, y_tk, predict = TRUE)
 [1] "votre" "fruit" "est"   "moins" "aimé" "la"    "pomme" "mais"  "mon"   "moins" "aimé" "est"   "la"    "<PAD>" "<PAD>" "<PAD>" "<PAD>"
[18] "<PAD>" "<PAD>" "<PAD>" "<PAD>"

Predictions for Training set


pred_translation <- function(i){
  predict_output <- model_RNN %>% predict(matrix(tensor_x[i, ,], nrow=1))
  predict_output <- argmax(predict_output, FALSE)
  converted_text <- logits_to_text(predict_output, y_tk, predict = TRUE)
  converted_text[converted_text == "<PAD>"] <- ""
  converted_text <- trimws(paste(converted_text, collapse = " "))
  print(paste("Input sentence:", train_x[i]))
  print(paste("Intended Output Sentence:", train_y[i]))
  print(paste("Predicted Output Sentence:", converted_text))
}

## `i` represents the index within the training set.
pred_translation(5)
[1] "Input sentence: your least liked fruit is the grape , but my least liked is the apple ."
[1] "Intended Output Sentence: votre moins aimé fruit est le raisin , mais mon moins aimé est la pomme ."
[1] "Predicted Output Sentence: votre fruit est moins aimé la pomme mais mon moins aimé est la"
LS0tDQp0aXRsZTogIkxhbmd1YWdlIFRyYW5zbGF0aW9uIHdpdGggUk5OIg0KYXV0aG9yOiAiTWF4IExlZSAmIFlvbmcgU2hlbmciDQpkYXRlOiAiVGVybSA3LCAyMDIyIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KKlJlZmVyZW5jZXMqDQoNCkd1aWRlOg0KaHR0cHM6Ly9naXRodWIuY29tL3RvbW15dHJhY2V5L0FJTkQtQ2Fwc3RvbmUNCmh0dHBzOi8vdG9tbXl0cmFjZXkuZ2l0aHViLmlvL0FJTkQtQ2Fwc3RvbmUvbWFjaGluZV90cmFuc2xhdGlvbi5odG1sDQoNCldoeSBUaW1lRGlzdHJpYnV0ZWREZW5zZUxheWVyOg0KaHR0cHM6Ly9kYXRhc2NpZW5jZS5zdGFja2V4Y2hhbmdlLmNvbS9xdWVzdGlvbnMvMTA4MzYvdGhlLWRpZmZlcmVuY2UtYmV0d2Vlbi1kZW5zZS1hbmQtdGltZWRpc3RyaWJ1dGVkZGVuc2Utb2Yta2VyYXMNCg0KS2VyYXMgRG9jdW1lbnRhdGlvbjoNCmh0dHBzOi8vdGVuc29yZmxvdy5yc3R1ZGlvLmNvbS9yZWZlcmVuY2Uva2VyYXMvDQoNClN0YWNrb3ZlcmZsb3c6DQpodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMDk2MTE0MS9zZXR0aW5nLXVwLWEtM2QtbWF0cml4LWluLXItYW5kLWFjY2Vzc2luZy1jZXJ0YWluLWVsZW1lbnRzDQoNCg0KKkF0dGVtcHQgdG8gdHJhaW4gd29yZHMgdXNpbmcgOC0xMCBXb3JkcyogYWNjdXJhY3kgY291bGQgYmUgZHVlIHRvIFBBRERJTkcNCg0KIyBJbXBvcnRpbmcgb2YgTGlicmFyaWVzDQpgYGB7ciB3YXJuaW5nPUZBTFNFLHJlc3VsdHM9J2hpZGUnLGVycm9yPUZBTFNFLG1lc3NhZ2U9RkFMU0V9DQpsaWJyYXJ5KGtlcmFzKQ0KbGlicmFyeSh0ZW5zb3JmbG93KQ0KbGlicmFyeSh0b2tlbml6ZXJzKQ0KbGlicmFyeShkcGx5cikNCmxpYnJhcnkocG5nKQ0KbGlicmFyeShyZXRpY3VsYXRlKQ0KbGlicmFyeShhYmluZCkNCmxpYnJhcnkocmFtaWZ5KQ0KbGlicmFyeShzdHJpbmdyKQ0KbGlicmFyeShkZWVwdml6KQ0KYGBgDQoNCmBgYHtyfQ0KbGFuZ3VhZ2UgPC0gIkZyZW5jaCINCmxhbmd1YWdlX2NvZGUgPC0gImZyIg0KZmlsZV9uYW1lIDwtIHBhc3RlMCgidHJhbnNsYXRpb25fIiwgbGFuZ3VhZ2VfY29kZSwgIi5jc3YiKQ0KdHJhaW4gPC0gcmVhZC5jc3YoZmlsZV9uYW1lLCBlbmNvZGluZz0iVVRGLTgiLCBzdHJpbmdzQXNGYWN0b3JzPUZBTFNFKQ0KYGBgDQoNCiMjIEFtZW5kaW5nIGNvbHVtbiBuYW1lcw0KYGBge3J9DQpjb2xuYW1lcyh0cmFpbikgPC0gYygiRW5nbGlzaCIsIGxhbmd1YWdlKQ0KYGBgDQoNCmBgYHtyfQ0KdHJhaW4NCmBgYA0KIyBUb2tlbml6ZXINCmBgYHtyfQ0KdG9rZW5pemUgPC0gZnVuY3Rpb24oeCl7DQogIHRva2VuaXplciA8LSB0ZXh0X3Rva2VuaXplcihudW1fd29yZHMgPSAxMDAwMDAwKQ0KICBmaXRfdGV4dF90b2tlbml6ZXIodG9rZW5pemVyLCB4KQ0KICBzZXF1ZW5jZXMgPC0gdGV4dHNfdG9fc2VxdWVuY2VzKHRva2VuaXplciwgeCkNCiAgcmV0dXJuKGMoc2VxdWVuY2VzLCB0b2tlbml6ZXIpKQ0KfQ0KYGBgDQoNCiMgUGFkZGluZw0KYGBge3J9DQpwYWQgPC0gZnVuY3Rpb24oeCwgbGVuZ3RoPU5VTEwpew0KICByZXR1cm4ocGFkX3NlcXVlbmNlcyh4LCBtYXhsZW4gPSBsZW5ndGgsIHBhZGRpbmcgPSAncG9zdCcpKQ0KfQ0KYGBgDQoNCiMgRXhhbXBsZSBmb3IgVG9rZW5pc2F0aW9uICYgUGFkZGluZw0KYGBge3J9DQp0ZXh0X3NlbnRlbmNlcyA9IGMoJ1RoZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2cgLicsDQogICAgJ0J5IEpvdmUgLCBteSBxdWljayBzdHVkeSBvZiBsZXhpY29ncmFwaHkgd29uIGEgcHJpemUgLicsDQogICAgJ1RoaXMgaXMgYSBzaG9ydCBzZW50ZW5jZSAuJykNCnRva2VuX2luZGV4IDwtIGxlbmd0aCh0ZXh0X3NlbnRlbmNlcykgKyAxDQpvdXRwdXQgPC0gdG9rZW5pemUodGV4dF9zZW50ZW5jZXMpDQp0ZXh0X3Rva2VuaXplZCA8LSBvdXRwdXRbMTpsZW5ndGgodGV4dF9zZW50ZW5jZXMpXQ0KIyBwcmludChvdXRwdXQpDQoNCiMgRmluZGluZyBvdXQgdGhlIGludGVnZXIgYWxsb2NhdGlvbiB0byBlYWNoIHdvcmQNCnRrIDwtIG91dHB1dFtbdG9rZW5faW5kZXhdXSR3b3JkX2luZGV4DQojIHByaW50KHRrKQ0KIyBwcmludChsZW5ndGgodGspKQ0KIyBwcmludCh0YWJsZSh0aykpDQpgYGANCiMjIFNlZWluZyB0aGUgaW5wdXQgdnMgb3V0cHV0IGZvciBlYWNoIHRva2VuaXplZCBzZW50ZW5jZXMNCmBgYHtyfQ0KZm9yKGkgaW4gMTpsZW5ndGgodGV4dF9zZW50ZW5jZXMpKXsNCiAgcHJpbnQocGFzdGUwKCJTZXF1ZW5jZSBpbiBUZXh0ICIsIGksICI6IikpDQogIHByaW50KHBhc3RlMCgiSW5wdXQ6ICIsIHRleHRfc2VudGVuY2VzW2ldKSkNCiAgcHJpbnQocGFzdGUwKCJPdXRwdXQ6ICIsIGxpc3QodGV4dF90b2tlbml6ZWRbW2ldXSkpKQ0KICBjYXQoIlxuIikNCn0NCmBgYA0KDQojIyBQYWRkaW5nIGVhY2ggdG9rZW5pemVkIHNlbnRlbmNlcw0KYGBge3J9DQpwYWRkZWRfdGV4dCA8LSBwYWQodGV4dF90b2tlbml6ZWQpDQpmb3IoaSBpbiAxOmxlbmd0aCh0ZXh0X3NlbnRlbmNlcykpew0KICBwcmludChwYXN0ZTAoIlNlcXVlbmNlIGluIFRleHQgIiwgaSwgIjoiKSkNCiAgcHJpbnQocGFzdGUwKCJJbnB1dDogIiwgdGV4dF9zZW50ZW5jZXNbaV0pKQ0KICBwcmludChwYXN0ZTAoIk91dHB1dDogIiwgbGlzdCh0ZXh0X3Rva2VuaXplZFtbaV1dKSkpDQogIHByaW50KHBhc3RlMCgiT3V0cHV0IChQYWRkZWQpOiAiLCBsaXN0KHBhZGRlZF90ZXh0W2ksXSkpKQ0KfQ0KYGBgDQoNCg0KDQojIFByZXByb2Nlc3NpbmcgQ29tcG9uZW50IChUaWR5aW5nIHVwIG9mIGNoYXJhY3RlcnMgYW5kIHNlbnRlbmNlcykNCg0KIyMgR2V0dGluZyBDb21waWxlZCBFbmdsaXNoIFRleHQgKFRlc3RpbmcpDQpgYGB7cn0NCiMgbiA8LSBucm93KHN1YnNldF90cmFpbikNCm4gPC0gNQ0Kd29yZF9saXN0IDwtIGxpc3QodHJhaW5bLCAxXSlbWzFdXVsxOm5dDQojIHdvcmRfbGlzdA0KbmV3X291dHB1dCA8LSB0b2tlbml6ZSh3b3JkX2xpc3QpDQpuZXdfdGV4dF90b2tlbml6ZWQgPC0gbmV3X291dHB1dFsxOm5dDQpuZXdfcGFkZGVkX3RleHQgPC0gcGFkKG5ld190ZXh0X3Rva2VuaXplZCkNCg0KZm9yKGkgaW4gMTpuKXsNCiAgIyBpZihpICUlIDEwMCAhPSAwKSBuZXh0DQogIHByaW50KHBhc3RlMCgiU2VxdWVuY2UgaW4gVGV4dCAiLCBpLCAiOiIpKQ0KICBwcmludChwYXN0ZTAoIklucHV0OiAiLCB3b3JkX2xpc3RbaV0pKQ0KICBwcmludChwYXN0ZTAoIk91dHB1dDogIiwgbGlzdChuZXdfdGV4dF90b2tlbml6ZWRbW2ldXSkpKQ0KICBwcmludChwYXN0ZTAoIk91dHB1dCAoUGFkZGVkKTogIiwgbGlzdChuZXdfcGFkZGVkX3RleHRbaSxdKSkpDQogICMgY2F0KCJcbiIpDQp9DQoNCmBgYA0KDQojIyBHZXR0aW5nIENvbXBpbGVkIE90aGVyIExhbmd1YWdlIFRleHQgKFRlc3RpbmcpDQpgYGB7cn0NCiMgbiA8LSBucm93KHN1YnNldF90cmFpbikNCm4gPC0gNQ0Kd29yZF9saXN0IDwtIGxpc3QodHJhaW5bLCAyXSlbWzFdXVsxOm5dDQpuZXdfb3V0cHV0IDwtIHRva2VuaXplKHdvcmRfbGlzdCkNCm5ld190ZXh0X3Rva2VuaXplZCA8LSBuZXdfb3V0cHV0WzE6bl0NCm5ld19wYWRkZWRfdGV4dCA8LSBwYWQobmV3X3RleHRfdG9rZW5pemVkKQ0KDQpmb3IoaSBpbiAxOm4pew0KICAjIGlmKGkgJSUgMTAwICE9IDApIG5leHQNCiAgcHJpbnQocGFzdGUwKCJTZXF1ZW5jZSBpbiBUZXh0ICIsIGksICI6IikpDQogIHByaW50KHBhc3RlMCgiSW5wdXQ6ICIsIHdvcmRfbGlzdFtpXSkpDQogIHByaW50KHBhc3RlMCgiT3V0cHV0OiAiLCBsaXN0KG5ld190ZXh0X3Rva2VuaXplZFtbaV1dKSkpDQogIHByaW50KHBhc3RlMCgiT3V0cHV0IChQYWRkZWQpOiAiLCBsaXN0KG5ld19wYWRkZWRfdGV4dFtpLF0pKSkNCn0NCg0KYGBgDQoNCg0KIyMgUHJlcHJvY2Vzc2luZyBib3RoIGxhbmd1YWdlcyBjb21waWxhdGlvbnMNCmBgYHtyfQ0KcHJlcHJvY2Vzc190ZXh0IDwtIGZ1bmN0aW9uKHgsIHkpew0KICBvdXRwdXRfeCA8LSB0b2tlbml6ZSh4KQ0KICBvdXRwdXRfeSA8LSB0b2tlbml6ZSh5KQ0KICANCiAgcHJlcHJvY2Vzc194IDwtIG91dHB1dF94WzE6bGVuZ3RoKHgpXTsgeF90ayA8LSBvdXRwdXRfeFtbbGVuZ3RoKHgpICsgMV1dJHdvcmRfaW5kZXgNCiAgcHJlcHJvY2Vzc195IDwtIG91dHB1dF95WzE6bGVuZ3RoKHkpXTsgeV90ayA8LSBvdXRwdXRfeVtbbGVuZ3RoKHkpICsgMV1dJHdvcmRfaW5kZXgNCiAgDQogICMgcHJpbnQocHJlcHJvY2Vzc194KQ0KICANCiAgcHJlcHJvY2Vzc194IDwtIHBhZChwcmVwcm9jZXNzX3gpDQogIHByZXByb2Nlc3NfeSA8LSBwYWQocHJlcHJvY2Vzc195KQ0KICANCiAgIyBwcmludChwcmVwcm9jZXNzX3gpDQogIA0KICAjIENvbnZlcnRpbmcgZnJvbSBhIDJEIG1hdHJpeCB0byBhIDNEIHRlbnNvcg0KICAjIHByZXByb2Nlc3NfeCA8LSBhcnJheShwcmVwcm9jZXNzX3hbWzFdXSwgYyhkaW0ocHJlcHJvY2Vzc194W1sxXV0pWzFdLCBkaW0ocHJlcHJvY2Vzc194W1sxXV0pWzJdLCAxKSkNCiAgIyBwcmVwcm9jZXNzX3kgPC0gYXJyYXkocHJlcHJvY2Vzc195W1sxXV0sIGMoZGltKHByZXByb2Nlc3NfeVtbMV1dKVsxXSwgZGltKHByZXByb2Nlc3NfeVtbMV1dKVsyXSwgMSkpDQogIA0KICByZXR1cm4obGlzdChwcmVwcm9jZXNzX3gsIHByZXByb2Nlc3NfeSwgeF90aywgeV90aykpDQp9DQpgYGANCg0KIyMgRnVsbCBEYXRhDQpgYGB7cn0NCnRyYWluX3ggPC0gbGlzdCh0cmFpblssIDFdKVtbMV1dDQp0cmFpbl95IDwtIGxpc3QodHJhaW5bLCAyXSlbWzFdXQ0KIyBwcmludChzdWJzZXRfdHJhaW5feCkNCg0KcHJvY2Vzc19vdXRwdXQgPC0gcHJlcHJvY2Vzc190ZXh0KHRyYWluX3gsIHRyYWluX3kpDQojIHByaW50KHByb2Nlc3Nfb3V0cHV0WzRdLCkNCnByZXByb2Nlc3NfeCA8LSBwcm9jZXNzX291dHB1dFsxXTsgcHJlcHJvY2Vzc195IDwtIHByb2Nlc3Nfb3V0cHV0WzJdOyB4X3RrIDwtIHByb2Nlc3Nfb3V0cHV0WzNdOyB5X3RrIDwtIHByb2Nlc3Nfb3V0cHV0WzRdDQojIHByaW50KHByZXByb2Nlc3NfeFtbMV1dKQ0KIyBwcmludChwcmVwcm9jZXNzX3lbWzFdXSkNCg0KDQojIENvbnZlcnNpb24gYmFjayB0byBsaXN0IG9mIHdvcmRzIGZyb20gdG9rZW5pemVkIHdvcmQgbGlzdA0KIyBhdHRyaWJ1dGVzKHhfdGtbWzFdXSkkbmFtZXMNCiMgbGVuZ3RoKHlfdGtbWzFdXSkNCmBgYA0KDQojIE9idGFpbmluZyB0aGUgbWF4aW11bSBjb2x1bW4gbnVtYmVyIGFuZCByZS1wYWRkaW5nDQpgYGB7cn0NCmNvbF94IDwtIGRpbShwcmVwcm9jZXNzX3hbWzFdXSlbMl0NCmNvbF95IDwtIGRpbShwcmVwcm9jZXNzX3lbWzFdXSlbMl0NCg0KaWYoY29sX3ggPj0gY29sX3kpew0KICBtYXhfY29sIDwtIGNvbF94DQp9ZWxzZXsNCiAgbWF4X2NvbCA8LSBjb2xfeQ0KfQ0KDQp0bXBfeCA8LSBwYWQocHJlcHJvY2Vzc194W1sxXV0sIG1heF9jb2wpDQp0bXBfeSA8LSBwYWQocHJlcHJvY2Vzc195W1sxXV0sIG1heF9jb2wpDQoNCg0KYGBgDQoNCiMgQ2FsY3VsYXRpbmcgU3BhcnNpdHkgKEV4dHJhKQ0KYGBge3J9DQpjYWxjdWxhdGVfc3BhcnNpdHkgPC0gZnVuY3Rpb24oZGZfbWF0cml4KXsNCiAgemVyb19jb3VudCA8LSAwDQogIHRvdGFsX2NvdW50IDwtIG5yb3coZGZfbWF0cml4KSAqIG5jb2wodG1wX3gpDQogIGZvcihpIGluIDE6bnJvdyhkZl9tYXRyaXgpKXsNCiAgICBmb3IoaiBpbiAxOm5jb2woZGZfbWF0cml4KSl7DQogICAgICBpZihkZl9tYXRyaXhbaSwgal0gPT0gMCl7DQogICAgICAgIHplcm9fY291bnQgPSB6ZXJvX2NvdW50ICsgMQ0KICAgICAgfQ0KICAgIH0NCiAgfQ0KICB6ZXJvX2NvdW50L3RvdGFsX2NvdW50DQp9DQoNCnByaW50KHBhc3RlKCJUaGUgU3BhcnNpdHkgb2YgdGhlIG1hdHJpeCBpczogIiwgcm91bmQoY2FsY3VsYXRlX3NwYXJzaXR5KHRtcF94KSoxMDAsIDIpLCAiJSIpKQ0KYGBgDQoNCg0KIyBDb252ZXJzaW9uIG9mIDJEIG1hdHJpeCB0byB0ZW5zb3INCmBgYHtyfQ0KY29udmVydDJ0ZW5zb3IgPC0gZnVuY3Rpb24ocHJlcHJvY2Vzc19kYXRhKXsNCiAgcHJlcHJvY2Vzc19kYXRhIDwtIGFycmF5KHByZXByb2Nlc3NfZGF0YSwgYyhkaW0ocHJlcHJvY2Vzc19kYXRhKVsxXSwgZGltKHByZXByb2Nlc3NfZGF0YSlbMl0sIDEpKQ0KICByZXR1cm4ocHJlcHJvY2Vzc19kYXRhKQ0KfQ0KDQojIGFycmF5KHByZXByb2Nlc3NfeFtbMV1dLCBjKGRpbShwcmVwcm9jZXNzX3hbWzFdXSlbMV0sIGRpbShwcmVwcm9jZXNzX3hbWzFdXSlbMl0sIDEpKQ0KIyBkaW0oYXJyYXkocHJlcHJvY2Vzc194W1sxXV0sIGMoZGltKHByZXByb2Nlc3NfeFtbMV1dKVsxXSwgZGltKHByZXByb2Nlc3NfeFtbMV1dKVsyXSwgMSkpKVsyOjNdDQpgYGANCg0KDQojIENvbnZlcnRpbmcgdG8gdGVuc29yDQpgYGB7cn0NCnRlbnNvcl94IDwtIGNvbnZlcnQydGVuc29yKHRtcF94KQ0KZGltKHRlbnNvcl94KQ0KdGVuc29yX3hbMSwgLCBdDQp0ZW5zb3JfeSA8LSBjb252ZXJ0MnRlbnNvcih0bXBfeSkNCiMgdGVuc29yX3kNCmBgYA0KDQoNCiMgQ29udmVydGluZyB0aGUgbG9naXRzIGJhY2sgdG8gdGV4dA0KYGBge3J9DQoNCmxvZ2l0c190b190ZXh0IDwtIGZ1bmN0aW9uKGxvZ2l0cywgdG9rZW5pemVyLCBwcmVkaWN0PUZBTFNFKXsNCiAgdG9rZW5pemVyX3dvcmRzIDwtIGF0dHJpYnV0ZXModG9rZW5pemVyW1sxXV0pJG5hbWVzDQogIHRleHQgPC0gYygpDQogIGlmKHByZWRpY3QgPT0gVFJVRSl7DQogICAgbG9naXRzIDwtIGxvZ2l0cyAtIDEgIyMgRm9yIHByZWRpY3Rpb24gY29udmVyc2lvbiBvbmx5IA0KICB9DQogIGZvcihpIGluIGxvZ2l0cyl7DQogICAgaWYoaSA9PSAwKXsNCiAgICAgIHRleHQgPC0gYyh0ZXh0LCAiPFBBRD4iKQ0KICAgIH1lbHNlew0KICAgICAgdGV4dCA8LSBjKHRleHQsIHRva2VuaXplcl93b3Jkc1tpXSkNCiAgICB9DQogIH0NCiAgcmV0dXJuKHRleHQpDQp9DQoNCiMgVGVzdGluZyB0byBjb252ZXJ0IHRoZSBmaXJzdCByb3cgYmFjayB0byB0ZXh0DQojIHByZXByb2Nlc3NfeFtbMV1dWzEsIF0NCiMgcHJlcHJvY2Vzc194W1sxXV0NCmxvZ2l0c190b190ZXh0KHByZXByb2Nlc3NfeFtbMV1dWzEsIF0sIHhfdGspDQoNCmBgYA0KDQoNCiMgQnVpbGRpbmcgYSBzaW1wbGUgUk5OIG1vZGVsDQpgYGB7cn0NCiMgZGltKHRlbnNvcl95KQ0KbW9kZWxfUk5OIDwtICBrZXJhc19tb2RlbF9zZXF1ZW50aWFsKCkNCm1vZGVsX1JOTiAlPiUgDQogIGxheWVyX3NpbXBsZV9ybm4odW5pdHMgPSAyNTYsIGlucHV0X3NoYXBlID0gZGltKHRlbnNvcl94KVsyOjNdLCByZXR1cm5fc2VxdWVuY2VzID0gVFJVRSkgJT4lDQogIGxheWVyX2RlbnNlKHVuaXRzID0gMTAyNCwgYWN0aXZhdGlvbiA9ICdyZWx1JyklPiUNCiAgbGF5ZXJfZHJvcG91dChyYXRlID0gMC41KSAlPiUNCiAgbGF5ZXJfZGVuc2UodW5pdHMgPSBsZW5ndGgoeV90a1tbMV1dKSArIDEsIGFjdGl2YXRpb24gPSAnc29mdG1heCcpDQoNCm1vZGVsX1JOTiAlPiUgc3VtbWFyeSgpDQoNCm1vZGVsX1JOTiAlPiUgY29tcGlsZSgNCiAgbG9zcyAgICAgID0gJ3NwYXJzZV9jYXRlZ29yaWNhbF9jcm9zc2VudHJvcHknLA0KICAjIG9wdGltaXplciA9IG9wdGltaXplcl9ybXNwcm9wKCksDQogIG9wdGltaXplciA9IG9wdGltaXplcl9hZGFtKGxlYXJuaW5nX3JhdGUgPSAwLjAwNSksDQogIG1ldHJpY3M9YygnYWNjdXJhY3knKQ0KKQ0KDQpwbG90X21vZGVsKG1vZGVsX1JOTikNCmBgYA0KYGBge3J9DQoNCmhpc3RvcnkgPSBtb2RlbF9STk4gJT4lIGZpdCgNCiAgeCA9IHRlbnNvcl94LCB5ID0gdGVuc29yX3ksDQogIGVwb2NocyAgICAgICAgICAgPSAxMCwNCiAgYmF0Y2hfc2l6ZSA9IDEwMjQsDQogIHZhbGlkYXRpb25fc3BsaXQgPSAwLjIsDQopDQpwbG90KGhpc3RvcnkpDQpgYGANCg0KDQojIFByZWRpY3Rpb24NCg0KIyMgT2J0YWluaW5nIHRoZSBvdXRwdXQgZm9yIHByZWRpY3Rpb24gKFRlc3RpbmcpDQpgYGB7cn0NCnByZWRpY3Rfb3V0cHV0IDwtIG1vZGVsX1JOTiAlPiUgcHJlZGljdChtYXRyaXgodGVuc29yX3hbNSwgLF0sIG5yb3c9MSkpDQojIHByZWRpY3Rfb3V0cHV0DQoNCg0KcHJlZGljdF9vdXRwdXQgPC0gYXJnbWF4KHByZWRpY3Rfb3V0cHV0LCBGQUxTRSkNCiMgdHJhaW5feFs1XQ0KdHJhaW5feVs1XQ0KbG9naXRzX3RvX3RleHQocHJlZGljdF9vdXRwdXQsIHlfdGssIHByZWRpY3QgPSBUUlVFKQ0KDQpgYGANCiMjIFByZWRpY3Rpb25zIGZvciBUcmFpbmluZyBzZXQNCmBgYHtyfQ0KDQpwcmVkX3RyYW5zbGF0aW9uIDwtIGZ1bmN0aW9uKGkpew0KICBwcmVkaWN0X291dHB1dCA8LSBtb2RlbF9STk4gJT4lIHByZWRpY3QobWF0cml4KHRlbnNvcl94W2ksICxdLCBucm93PTEpKQ0KICBwcmVkaWN0X291dHB1dCA8LSBhcmdtYXgocHJlZGljdF9vdXRwdXQsIEZBTFNFKQ0KICBjb252ZXJ0ZWRfdGV4dCA8LSBsb2dpdHNfdG9fdGV4dChwcmVkaWN0X291dHB1dCwgeV90aywgcHJlZGljdCA9IFRSVUUpDQogIGNvbnZlcnRlZF90ZXh0W2NvbnZlcnRlZF90ZXh0ID09ICI8UEFEPiJdIDwtICIiDQogIGNvbnZlcnRlZF90ZXh0IDwtIHRyaW13cyhwYXN0ZShjb252ZXJ0ZWRfdGV4dCwgY29sbGFwc2UgPSAiICIpKQ0KICBwcmludChwYXN0ZSgiSW5wdXQgc2VudGVuY2U6IiwgdHJhaW5feFtpXSkpDQogIHByaW50KHBhc3RlKCJJbnRlbmRlZCBPdXRwdXQgU2VudGVuY2U6IiwgdHJhaW5feVtpXSkpDQogIHByaW50KHBhc3RlKCJQcmVkaWN0ZWQgT3V0cHV0IFNlbnRlbmNlOiIsIGNvbnZlcnRlZF90ZXh0KSkNCn0NCg0KIyMgYGlgIHJlcHJlc2VudHMgdGhlIGluZGV4IHdpdGhpbiB0aGUgdHJhaW5pbmcgc2V0Lg0KcHJlZF90cmFuc2xhdGlvbig1KQ0KDQpgYGANCg0K